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]> 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:[EMAIL PROTECTED] *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]> 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:[EMAIL PROTECTED] *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

Reply via email to