If you embed an entire AS2 .swf file via the [Embed] tag in the Flex
compiler, rather than just embedding a symbol from a SWF file, you get
the whole file, code and all. When it's created (via new MyClass()) it
comes in as an AVM1MovieAsset and runs under AVM1 within AVM2, just as
if you loaded it in a Loader.

If you just embed a _symbol_ from an AS2 .swf file, that symbol is
transcoded from AVM1 into AVM2 and all actionscript is stripped out.

It's the difference between typing:

[Embed(source="myAS2file.swf")]

and

[Embed(source="myAS2file.swf", symbol="TestSymbol")]

With the former, you get a self-contained AVM1 movie. With the latter,
you get an AVM2-compatible graphical asset.

Hope that clears it up,
    Ian


On Thu, Jun 19, 2008 at 1:43 PM, Paul Andrews <[EMAIL PROTECTED]> wrote:
> I thought you could embedd assets, but not runnable code?
>
> Paul
> ----- Original Message ----- From: "Ian Thomas" <[EMAIL PROTECTED]>
> To: "Flash Coders List" <[email protected]>
> Sent: Thursday, June 19, 2008 1:31 PM
> Subject: Re: [Flashcoders] stopping an AS2 MovieClip..
>
>
>> Ah, sorry, we're using the Flex compiler and so using the [Embed] tag.
>> Not sure how to achieve the same effect in CS3.
>>
>> Ian
>>
>> On Thu, Jun 19, 2008 at 1:04 PM, Paul Andrews <[EMAIL PROTECTED]> wrote:
>>>
>>> ----- Original Message ----- From: "Ian Thomas" <[EMAIL PROTECTED]>
>>> To: "Flash Coders List" <[email protected]>
>>> Sent: Thursday, June 19, 2008 11:40 AM
>>> Subject: Re: [Flashcoders] stopping an AS2 MovieClip..
>>>
>>>
>>>> Paul - having looked at what we're doing in our work setup, one major
>>>> difference is this:
>>>>
>>>> Instead of _loading_ the AS2ProxySWF (via Loader), we embed it as an
>>>> asset straight into AS3 and create it on the fly, adding it to the
>>>> display tree.
>>>>
>>>> This may be why our stuff is more robust.
>>>>
>>>> MovieClipLoader _definitely_ works properly in our AS2ProxySWF.
>>>>
>>>> I think it might be worth a try; you never know, it might cure a bunch
>>>> of problems.
>>>
>>> Thanks Ian.
>>>
>>> CS3 seems a bit sniffy about loading some swfs into the library. One of
>>> my
>>> loader versions loads into the library, but another just doesn't.
>>>
>>> Hmm..
>>>
>>> I love this particular project.
>>>
>>> Paul
>>>
>>>
>>>
>>>> Ian
>>>>
>>>> On Thu, Jun 19, 2008 at 11:29 AM, Paul Andrews <[EMAIL PROTECTED]>
>>>> wrote:
>>>>>
>>>>> Despite some great help, I'm having some fun controlling my AS2
>>>>> Movieclips
>>>>> from an AS3 project.
>>>>>
>>>>> The basic scenario (as before) is that I have
>>>>>
>>>>> AS3Project, AS2ProxySWF, AS2SWF
>>>>>
>>>>> The AS3Project loads the AS2ProxySWF.
>>>>>
>>>>> The AS2ProxySWF messages the AS3 Project to say that it's running.
>>>>>
>>>>> The AS3Project uses a local connection to tell the AS2 Proxy to load a
>>>>> particular AS2 SWF.
>>>>>
>>>>> The AS2 Proxy loads the AS2 SWF using a MovieClipLoader(MCL).
>>>>>
>>>>> If I test the AS2 Proxy standalone (hardcoded load of the required AS2
>>>>> SWF),
>>>>> the MCL  handles the onCreationComplete event and runs the handler, so
>>>>> I
>>>>> know when the AS2 SWF has loaded.
>>>>>
>>>>> When the proxy is loaded into the AS3 project, the MCL doesn't run the
>>>>> onCreationComplete handler, so I can't easily tell if the AS2 SWF has
>>>>> loaded.
>>>>>
>>>>> With my existing code the AS2 Proxy has an onEnterFrame handler that
>>>>> attempts to detect when the MCL has fully loaded the AS2 SWF.
>>>>>
>>>>> When I run the AS3 project form the flash IDE, my detection always
>>>>> works
>>>>> and
>>>>> once the AS2 SWF has loaded I stop it from running. Perfect.
>>>>>
>>>>> When I run the AS3 swf via a browser, the AS2 SWF loads but doesn't
>>>>> stop.
>>>>>
>>>>> This is how I'm trying to detect when the AS2 SWF has loaded:
>>>>>
>>>>> this.onEnterFrame = function()
>>>>> {
>>>>>  if (this["xx"]._totalframes > 1) {
>>>>>  this["xx"]._lockroot = true;
>>>>>  if (this["xx"].getBytesLoaded() < this["xx"].getBytesTotal()) {
>>>>>
>>>>> etc.
>>>>>
>>>>> Can anyone suggest a reliable way to know when the proxy has loaded the
>>>>> SWF
>>>>> so I can take command of it's timeline?
>>>>>
>>>>> I realise that timings can and will change between the browser and the
>>>>> IDE,
>>>>> but can't quite spot why this is a problem here.
>>>>>
>>>>> If anyone has some reliable code..
>>>>>
>>>>> Paul
>>>>>
>>>>> _______________________________________________
>>>>> Flashcoders mailing list
>>>>> [email protected]
>>>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>>>
>>>> _______________________________________________
>>>> Flashcoders mailing list
>>>> [email protected]
>>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>>
>>>
>>> _______________________________________________
>>> Flashcoders mailing list
>>> [email protected]
>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>
>> _______________________________________________
>> Flashcoders mailing list
>> [email protected]
>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>
>
> _______________________________________________
> Flashcoders mailing list
> [email protected]
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to