Now I'm really confused. How do I make a ball  using standard Flex 
components ? Everything I've seen uses a sprite.
Where can I find "complete Flex examples that use standard Flex 
components"   ?


Gordon Smith wrote:
>
> Built in to the Flash Player are low-level flash.* classes such as 
> Sprite. The Flex framework libraries contains higher-level mx.* 
> classes such as UIComponent, Button, Container, VBox, etc. which add 
> many capabilities beyond those in the Player.
>  
> The Flex framework was designed with the assumption that most 
> developers would be delighted with the greater capabilities of 
> the high-level classes and not have much interest in the low-level 
> ones, which are primitive by comparison. In hindsight, this was 
> wrongheaded. Many people like you want to mix the two -- generally 
> because the low-level classes can have greater performance or smaller 
> code size, or because you're bringing over code from the 
> Flash-not-Flex world -- and it isn't as easy as it should be to mix 
> them. I hope we can do better in a future release.
>  
> You write AS3 code to use both flash.* and mx.* classes, and, once you 
> understand a few rules, you can use both sets of classes in a Flex 
> application. But it isn't completely trivial, so it's dangerous to 
> just take a simple Sprite-based class and expect it to "just work" in 
> Flex.
>  
> The problem you're running into here is that Flex Containers such as 
> VBox assume that their children are high-level UIComponents rather 
> than just low-level Sprites. One reason is that containers do 
> automatic layout management, which requires code in the children to 
> report how big the child wants to be, etc.
>  
> So currently you have to work around this assumption by doing things 
> like creating an intermediate UIComponent to parent the Sprite or 
> adding the Sprite to the Container as a "raw" child (see the 
> rawChildren property).
>  
> If you're new to Flex, I suggest beginning with complete Flex examples 
> that use standard Flex components and postponing trying to use 
> Sprites-based classes. You'll make more progress, gain confidence, and 
> then be in a better position to understand how to take advantage of 
> Sprites later.
>  
> Gordon Smith
> Adobe Flex SDK Team
>
> ------------------------------------------------------------------------
> *From:* flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] 
> *On Behalf Of *rueter007
> *Sent:* Thursday, January 17, 2008 10:12 PM
> *To:* flexcoders@yahoogroups.com
> *Subject:* [flexcoders] Re: addchild
>
> you cannot add sprites directly that way. you can do the following.
>
> var ballParent: UIComponent = new UIComponent();
> ballParent.addChild(ball);
> vbox.addChild(ballParent);
>
> and ofcourse, you have to set the width, height etc.
>
> - venkat
> http://www.venkatj.com <http://www.venkatj.com>
>
> --- In flexcoders@yahoogroups.com 
> <mailto:flexcoders%40yahoogroups.com>, "[EMAIL PROTECTED]" <[EMAIL 
> PROTECTED]> wrote:
> >
> > This is the entire ball class
> > package com.oreilly.programmingflex.states {
> >
> >
> > import flash.display.Sprite;
> >
> > public class Ball extends Sprite {
> > private var radius:Number;
> > private var color:uint;
> >
> > public function Ball(radius:Number=40, color:uint=0xff0000) {
> > this.radius = radius;
> > this.color = color;
> > init();
> > }
> > public function init():void {
> > graphics.beginFill(color);
> > graphics.drawCircle(0, 0, radius);
> > graphics.endFill();
> >
> > }
> > }
> >
> >
> > }
> >
> >
> > Sherif Abdou wrote:
> > > it means that the ball is not a IUIcomponenet which it is required
> for
> > > it to be added on stage, show me a bit of the ball class code so i
> can
> > > know
> > >
> > > ----- Original Message ----
> > > From: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
> > > To: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
> > > Sent: Thursday, January 17, 2008 11:38:26 PM
> > > Subject: Re: [flexcoders] addchild
> > >
> > > OK thanks. Now when I try to use addChild, I get this error. What does
> > > it mean ?
> > > myball=new Ball;
> > > addChild(myball) ;
> > > TypeError: Error #1034: Type Coercion failed: cannot convert
> > > com.oreilly. programmingflex. states::Ball@ 5787299 to
> > > mx.core.IUIComponen t.
> > > at
> > > mx.core::Container/http://www.adobe. com/2006/ flex/mx/internal
> > > ::addingChild
> <http://www.adobe.com/2006/flex/mx/internal::addingChild 
> <http://www.adobe.com/2006/flex/mx/internal::addingChild>>()
> > > at mx.core::Container/ addChildAt( )
> > > at mx.core::Container/ addChild( )
> > > at Main/::initializeHa ndler()
> > > at Main/___Application 1_initialize( )
> > > at
> > > flash.events: :EventDispatcher /flash.events: EventDispatcher:
> > > :dispatchEventFu nction()
> > > at flash.events: :EventDispatcher /dispatchEvent( )
> > > at mx.core::UIComponen t/dispatchEvent( )
> > > at mx.core::UIComponen t/set processedDescriptor s()
> > > at mx.core::Container/ createComponents FromDescriptors( )
> > >
> > > Sherif Abdou wrote:
> > > > addChild not addchild
> > > >
> > > > ----- Original Message ----
> > > > From: "[EMAIL PROTECTED] org <mailto:info1%40reenie.org>"
> <[EMAIL PROTECTED]
> > > org <mailto:info1%40reenie.org>>
> > > > To: [EMAIL PROTECTED] ups.com
> <mailto:flexcoders%40yahoogroups.com>
> > > > Sent: Thursday, January 17, 2008 11:03:15 PM
> > > > Subject: [flexcoders] addchild
> > > >
> > > > I have a ball class. I can make a ball. How do I add it to the
> stage ?
> > > >
> > > > I have seem plenty of examples, and they use addchild.
> > > > Every time I try to use addchild, I get this error:
> > > > Error: Call to a possibly undefined method addChild.
> > > >
> > > > or if I try to attach it to an existing element
> > > > such as <mx:VBox id="vbox">
> > > > vbox.addchild( ball);
> > > > I get :Error: Access of undefined property vbox.
> > > >
> > > > So what can I put addchild on ?
> > > >
> > > >
> > > >
> > > > ------------ --------- --------- --------- --------- --------- -
> > > > Never miss a thing. Make Yahoo your homepage.
> > > > <http://us.rd. yahoo.com/ evt=51438/ *http://www. yahoo.com/ r/hs
> > > <http://us.rd.yahoo.com/evt=51438/*http://www.yahoo.com/r/hs 
> <http://us.rd.yahoo.com/evt=51438/*http://www.yahoo.com/r/hs>>>
> > > >
> > >
> > >
> > >
> > >
> ----------------------------------------------------------
> > > Be a better friend, newshound, and know-it-all with Yahoo! Mobile.
> Try
> > > it now.
> > >
> <http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ%20
>  
> <http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ%20>>
>
> > >
> > >
> >
>
> 

Reply via email to