That is if you do an ActionScript Project instead of a FlexProject
----- Original Message ---- From: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> To: flexcoders@yahoogroups.com Sent: Sunday, January 20, 2008 1:05:32 PM Subject: Re: [flexcoders] Re: addchild Thanks, that helps alot. Why isn't this in the documentation ? http://livedocs. adobe.com/ labs/flex3/ html/help. html?content= Drawing_Vector_ Graphics_ 6.html It uses import flash.display. Shape;, not import mx.core.UIComponent ; Or if it is somewhere else, where is it ? Here is the simplest version I could come up with. import mx.core.UIComponent ; public function makeSquare() :void { //make a new uicomponent var uic:UIComponent = new UIComponent( ); uic.graphics. beginFill( 0xFF0000, 0.5); uic.graphics. drawRect( 0, 0, 100, 100); uic.graphics. endFill() ; //add the uicomponent to the flex displaylist this.addChild( uic); } Jim Hayes wrote: > > What you need to do in flex is the following: (off top of head and not > checked) > > //make a new uicomponent > var uic:UIComponent = new UIComponent( ); > > var squareSize:uint = 100; > var square:Shape = new Shape(); > square.graphics. beginFill( 0xFF0000, 0.5); > square.graphics. drawRect( 0, 0, squareSize, squareSize); > square.graphics. beginFill( 0x00FF00, 0.5); > square.graphics. drawRect( 200, 0, squareSize, squareSize); > square.graphics. beginFill( 0x0000FF, 0.5); > square.graphics. drawRect( 400, 0, squareSize, squareSize); > square.graphics. endFill() ; > > // add the shape to the uicomponents displaylist > uic.addChild( square); > > //add the uicomponent to the flex displaylist > > this.addChild( uic); > > It drove me a bit mad too, when I first used flex! > > If you wanted to, you could draw direct to the uicomponent' s graphics > instead, we had a conversation on this list in the past few days > covering that (Jason Merrill and Alex Harui mainly, with the odd post > from myself). You may encounter rather a lot of "fun" with resizing > though, as you'll see if you read those posts... > (Drawn objects acting as children to components?) > > hope that helps, > > Jim. > > -----Original Message----- > From: [EMAIL PROTECTED] ups.com <mailto:flexcoders% 40yahoogroups. com> > on behalf of [EMAIL PROTECTED] org <mailto:info1% 40reenie. org> > Sent: Sun 20/01/2008 15:56 > To: [EMAIL PROTECTED] ups.com <mailto:flexcoders% 40yahoogroups. com> > Subject: Re: [flexcoders] Re: addchild > > I'm still missing something very basic. Why would you think that a book > called "actionscript 3 animation" > uses only only flash.* classes throughout and avoids the mx.* classes > completely ? Doesn't Flex use actionscript 3? Doesn't it do animation? > > I bought lots of other books too, thinking they would apply to flex., > such as Colin Moock's Essential Actionscript 3.0. > I would like to see an example of a ball that only uses mx classes. > > no kidding, I have looked and looked and looked and I don't see what you > might be referring to. I thought I have found it when I got to > > http://livedocs. adobe.com/ labs/flex3/ langref/mx/ graphics/ package-detail. > html > <http://livedocs. adobe.com/ labs/flex3/ langref/mx/ graphics/ > package-detail. html> > > but nothing from that page shows how to make a shape and apply the > graphics to it. It just uses existing components. It should have a > simple axample of making a shape and adding a stroke. > > http://livedocs. adobe.com/ labs/flex3/ langref/mx/ graphics/ Stroke.html > <http://livedocs. adobe.com/ labs/flex3/ langref/mx/ graphics/ Stroke.html> > talks about " The Graphics object to which the Stroke's styles are > applied." but the link is to flash.display > <http://livedocs. adobe.com/ labs/flex3/ langref/flash/ display/package- > detail.html > <http://livedocs. adobe.com/ labs/flex3/ langref/flash/ display/package- > detail.html>> > > I did a search for mx.display, no results. > > I tried the example in > http://livedocs. adobe.com/ labs/flex3/ html/help. html?content= > Drawing_Vector_ Graphics_ 5.html > <http://livedocs. adobe.com/ labs/flex3/ html/help. html?content= > Drawing_Vector_ Graphics_ 5.html> > > var squareSize:uint = 100; > var square:Shape = new Shape(); > square.graphics. beginFill( 0xFF0000, 0.5); > square.graphics. drawRect( 0, 0, squareSize, squareSize); > square.graphics. beginFill( 0x00FF00, 0.5); > square.graphics. drawRect( 200, 0, squareSize, squareSize); > square.graphics. beginFill( 0x0000FF, 0.5); > square.graphics. drawRect( 400, 0, squareSize, squareSize); > square.graphics. endFill() ; > this.addChild( square); > > And it turns out that these built in methods do not create a > UIComponent either. > TypeError: Error #1034: Type Coercion failed: cannot convert > flash.display: :[EMAIL PROTECTED] to mx.core.IUIComponen t. > > What is going on here ? Is this because I'm using flex2 and not flex 3 ? > > Gordon Smith wrote: > > > > > The ball class is from the foundation action script 3 animation book > > > and there is no import mx.core.UIComponent ; in thier example. > > I'm not familiar with this book, but from the name I'd expect that > > they use only flash.* classes throughout and avoid the mx.* classes > > completely. You were trying to mix them by taking Ball and adding it > > into VBox. If you added Ball to a Sprite-based app (rather than an > > <mx:Application> -based app) you wouldn't have a problem. (You also > > wouldn't get automatic layout, etc.) > > > > > Can you suggest a book ? > > > > I'm afraid that I haven't had time to investigate what's out there, > > but I expect that others on the list will have suggestions. > > > > > It just blows my mind how bad the documentation is > > > > We've heard before that our examples are either too simple or too > > complex. Do you have any suggestions for specific basic concepts that > > aren't properly covered, or intermediate- level examples that would be > > useful? If so, I'll pass them on to the doc team. > > > > Gordon Smith > > Adobe Flex SDK Team > > > > ------------ --------- --------- --------- --------- --------- - > > *From:* [EMAIL PROTECTED] ups.com > <mailto:flexcoders% 40yahoogroups. com> > [mailto:[EMAIL PROTECTED] ups.com <mailto:flexcoders% 40yahoogroups. com>] > > *On Behalf Of [EMAIL PROTECTED] org <mailto:%2Ainfo1% 40reenie. org> > > *Sent:* Thursday, January 17, 2008 11:37 PM > > *To:* [EMAIL PROTECTED] ups.com <mailto:flexcoders% 40yahoogroups. com> > > *Subject:* Re: [flexcoders] Re: addchild > > > > I just use whatever I can get to work. I'm happy just using flex, and > > when I use some old flash its only because I don't know any better. > > The ball class is from the foundation action script 3 animation book and > > there is no import mx.core.UIComponent ; in thier example. > > > > When you say: 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. > > > > I'd do that if I could figure out how. The "live docs" are not good for > > learning form because the examples are either not complete or are way > > too complete with too many distracting bells and whistles. They need to > > start with basic building blocks but they don't seem to understand the > > concept. It just blows my mind how bad the documentation is. . Can you > > suggest a book ? > > > > 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. > > > > > > > > > > > ____________ _________ _________ _________ _________ _________ _ > This communication is from Primal Pictures Ltd., a company registered > in England and Wales with registration No. 02622298 and registered > office: 4th Floor, Tennyson House, 159-165 Great Portland Street, > London, W1W 5PA, UK. VAT registration No. 648874577. > > This e-mail is confidential and may be privileged. It may be read, > copied and used only by the intended recipient. If you have received > it in error, please contact the sender immediately by return e-mail or > by telephoning +44(0)20 7637 1010. Please then delete the e-mail and > do not disclose its contents to any person. > This email has been scanned for Primal Pictures by the MessageLabs > Email Security System. > ____________ _________ _________ _________ _________ _________ _ > ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ