Gregory,
  The trouble with importing/using/loading Flash 8 SWFs into an AS3-powered
app is that Flash 8 uses the old flash runtime engine (AVM1) and your AS3
app uses the new engine (AVM2) and the two don't talk to each other well.

If you directly embed a Flash 8 SWF like so:
  [Embed(source="flash8.swf"]
  private var assetClass:Class;

When you create an instance of assetClass using new assetClass(), you are
actually creating an instance of a 'wrapper' class called AVM1Movie, which
isn't a lot of use to you. It's okay if you're just showing a graphic and
don't want to interact with it, but that's about it. Clumsy.

However, you _can_ use symbols from the library of a Flash 8 SWF directly in
an AS3 app and have them translated at compile time.

You embed the symbols (instead of the whole SWF) like so:
  [Embed(source="flash8.swf", symbol="SymbolALinkageID"]
  private var symbolAClass:Class;

  [Embed(source="flash8.swf", symbol="SymbolBLinkageID"]
  private var symbolBClass:Class;

Now when you create an instance of symbolAClass using new symbolAClass(),
you are actually getting a MovieClip that's completely compatible with Flash
9. If the symbol had any Flash 8 code on it, this will have been stripped by
the compile process and ignored - but if all you're trying to do is load a
bunch of frames of graphics produced with Flash 8 and using them in a Flash
9 movie, it works perfectly.

In short - embed/compile the whole Flash 8 movie, your app thinks it's an
old SWF file and treats it as an AVM1 MovieClip. Embed/compile each symbol
seperately, Flash 9 treats each one as an AVM2 MovieClip.

Hope that's helpful,
   Ian

On Jan 18, 2008 9:55 AM, Gregory N <[EMAIL PROTECTED]> wrote:

> Thanks again, Glen, your addition is very interesting.
>
>
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to