>>My understanding from looking around is that with the document class
in Flash 9, 
>>you can only add items to the stage through code. That seems to negate
a lot of the 
>>advantage of using a graphical interface..
 
Remember, it's not really Flash 9, it's really just Flash 8 with a
preview of AS 3.0, even if they are calling it Flash 9 Pro AS3 preview
- Flash 8 with a compiler to compile to Flash 9 player/AS3.  When Flash
9 comes out, I'm sure you'll be able to add items to the stage through
the GUI.  I think they kinda made a mistake calling it "Flash 9 Pro AS3
Preview", it's confused a lot of people.  At least the docs on their
site explain it well. 
 
http://www.adobe.com/devnet/flash/articles/flash9_as3_preview.html
 

Jason Merrill 
Bank of America
Learning & Organizational Effectiveness 
  
  
  
  
  

 


________________________________

        From: flexcoders@yahoogroups.com
[mailto:[EMAIL PROTECTED] On Behalf Of slangeberg
        Sent: Friday, February 16, 2007 10:58 PM
        To: flexcoders@yahoogroups.com
        Subject: Re: [flexcoders] Can't we access MovieClips contained
in embedded SWF's?
        
        

        Mike, 
        
        I tried setting up a document class for Flash 9, but when you
place named items on stage, you get this error:
        
        ReferenceError: Error #1056: Cannot create property square_mc on
com.cpile.flextoflash.FlexToFlashMain .
            at
flash.display::Sprite/flash.display:Sprite::constructChildren()
            at flash.display::Sprite$iinit()
            at flash.display::MovieClip$iinit()
            at com.cpile.flextoflash::FlexToFlashMain$iinit()
        
        Adobe guys, is this correct? My understanding from looking
around is that with the document class in Flash 9, you can only add
items to the stage through code. That seems to negate a lot of the
advantage of using a graphical interface... ok, so you could have a clip
in your library that has the stage set up... hmmm that may do it! I'll
write back when I have something. Otherwise, what i have sent is an
effective way to access items on the stage. 
        
        -Scott
        
        
        On 2/16/07, slangeberg <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> > wrote: 

                Yeah, sorry. I'm not 100%, but you should be able to
reference your loaded movie by that class type (your document class),
from within Flex. I believe another gentleman referred to that, in this
thread. Hold on, I did it, with a loader... I'll try to attach code. 
                
                The proxy is just a design idea, meaning you define an
interface to your movie in your class, instead of referencing elements
within the movie from Flex. Then, the only thing that will break your
flash / flex connection is to break that interface. For instance, your
map(?) class could have functions like: 
                
                showPlat( id:Object );
                
                where the class implementation can decide what to do
with the call, instead of having your flex app nose through the
contents. That's a good design practice to get into:
                
                'Always code to interfaces, not implementations.' 
                
                Ok, so here's one of those do as I say, deals.. Also, my
implementation may be a bit different here, than what we were talking
about. This was a quick fix to enable custom loading logic, for the
default Flex 2 application loading bar. In this case, I'm actually
assigning the class under the 'linkage' option of my library clip
(progress bar) to point to: com.tc.view.preload.ProgressBarSymbol, and
publishing in Flash 9. Then, when you instantiate the class in Flex 2,
you'll get a direct link. In your case, i would suggest a document
class, for the entire movie.
                
                //I just used this class to enable me to access a
loading bar quick. If this was going to 
                //scale / change, I would have defined public methods to
update this view. 
                //I swear!!
                package com.tc.view.preload
                {    
                    import flash.display.*;
                    import flash.text.TextField;
                
                    [Embed(source="/library.swf",
symbol="com.tc.view.preload.ProgressBarSymbol")]
                    public class ProgressBarSymbol extends Sprite 
                    {        
                        public var progress_bar:MovieClip;  
                        public var loading_text:TextField; 
                    }
                }
                
                //And instantiated in Flex 2 by using:
                
                var bar:ProgressBarSymbol = new ProgressBarSymbol(); 
                this.addChild( bar ); 
                
                Hope this gives ideas, not confusion!
                
                -Scott 
                
                
                
                On 2/16/07, Mike Anderson < [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> > wrote: 

                        

                        Hello Scott (in particular) :)
                         
                        You mentioned a "Proxy" - what you do mean by
this exactly?
                         
                        Is this supposed to be some custom class that I
write?  If so, what is supposed to be contained within it?
                         
                        I did read up on the Document Object, and I am
now doing my Flash 9 FLA files with a custom Document Class,
representing the Root Timeline.  I am pretty sure I did it right, since
I am getting no compile errors.
                         
                        But my question is, is the AS3 Class File I used
for the Document Object, strictly used for the FLA file?  Or is this
also used inside of Flex Builder, after I bring the external SWF file
in?
                         
                        This is where I am getting a little confused.
                         
                        All the articles I find on this topic, covers
the Flash side of things - and they never take that next step, and tell
you how to reference it inside of Flex.
                         
                        If you have anything else on this topic, I'd
really be grateful for your help.
                         
                        Thanks,
                         
                        Mike

________________________________

                        From: flexcoders@yahoogroups.com
[mailto:flexcoders@ yahoogroups.com <http://yahoogroups.com> ] On Behalf
Of slangeberg
                        Sent: Wednesday, February 14, 2007 10:53 AM 
                        
                        To: flexcoders@yahoogroups.com 
                        Subject: Re: [flexcoders] Can't we access
MovieClips contained in embedded SWF's?
                        

                        
                        If you are using Flash 9, you can use a document
class (I believe) at the root level and have Flex reference it by that.
Your document class would set up an API, so you don't have to peer into
the movie itself. Basically a proxy. Sorry I don't have the
implementation in front of me, but I believe it's possible. 
                        
                        So, if previous code was correct, could do
something like:
                        
                        var platProxy:YourProxy =
platObject.getChildByName('instancename') as YourProxy
                        platProxy.hideAll();
                        platProxy.showByID( {id:'plat_xxx'} ); 
                        
                        Just an idea!
                        
                        -Scott
                        
                        
                        On 2/14/07, Mike Anderson <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> > wrote: 

                                

                                Oh man, you are kidding me!
                                 
                                See, this particular SWF is a Plat
Overview of a subdivision - and there are 140 Lots, each individually
defined as a unique MovieClip.
                                 
                                So, if I need access to each MovieClip
programmatically, I will have to define 140 variables?
                                 
                                Now that would be a bummer :-(
                                 
                                Could you clarify on that?
                                 
                                Thank you for the information
nevertheless - I was actually going to try the getChild method next, so
that saves me some time.
                                 
                                Mike

________________________________

                                From: flexcoders@yahoogroups.com
[mailto: flexcoders@ <mailto:flexcoders@> yahoogroups.com
<http://yahoogroups.com> ] On Behalf Of Matt Wicks
                                Sent: Wednesday, February 14, 2007 10:18
AM
                                To: flexcoders@yahoogroups.com
                                Subject: Re: [flexcoders] Can't we
access MovieClips contained in embedded SWF's?
                                
                                
                                
                                You need to get the object as a display
object  

                                var xxx:MovieClip =
platObject.getChildByName('instancename') as MovieClip

                                Matt
                                On 14 Feb 2007, at 16:13, Mike Anderson
wrote:


                                

                                Hello all,
                                
                                I have a Flash Player 9, AS3 version of
a SWF that I am bringing into
                                Flex, using the SWFLoader Component.
                                
                                Once I bring the SWF in, I am creating a
MovieClip variable and
                                assigning to it, the SWFLoader.content.
Here is a quick code example:
                                
                                var platObject:MovieClip =
mySWFLoader.content;
                                
                                So once that assignment is made, you can
execute certain built-in
                                methods available to any Flash Movie -
for example:
                                
                                platObject.play ( );
                                platObject.loaderIn fo.[etc]
                                And so on...
                                
                                That is all well and good - but what
about MovieClips that reside in the
                                Root Timeline? In this particular SWF
File, I have a MovieClip called
                                "platMovieClip" - and I am trying to
access it's properties and methods
                                from within Flex. For example, I'd like
to toggle the visibility, so I
                                tried this code:
                                
                                platObject.platMovi eClip._visible =
false;
                                
                                When I try this command, I get an error
that says "the property
                                platMovieClip is unknown" or something
to that effect...
                                
                                If we can't access the assets that
reside in SWF Files, then what is the
                                whole point of all this? Or maybe there
is something that I am
                                overlooking - but as far as I can tell,
the platObject should represent
                                the SWF...
                                
                                Could any of you shed some light on this
topic for me? This
                                functionality is VERY important to the
success of my website launch.
                                
                                Thanks in advance, 
                                
                                Mike
                                

                                

                                


                                
                                




                        -- 
                        
                        : : ) Scott 

                        

                        




                -- 
                
                : : ) Scott 




        -- 
        
        : : ) Scott 

        

         

Reply via email to