I have run into an annoying issue involving Adobe AIR versions 1.5.X and 2.0. While I am aware that there are some differences (security wise) between the playerglobal APIs and the airglobal APIs, I wouldn’t have guessed that what I’m about to describe to be the “valid” behavior.
The Steps:
- Using Flash CS, create a SWF with a document class: Foo. For the sake of example, I created an animated MovieClip and placed it on the stage.
- Embed the newly created SWF as binary using the mimeType=”application/octet-stream”
- Use Loader::loadBytes() to load the SWF binary.
- Upon a successful load, extract the Class reference of the MovieClip such that multiple instances can be created.
The Results:
- Using the regular Flash Player (playerglobal), I am able to successfully extract the Class and create multiple instances.
- Using AIR (airglobal v1.5.3 and v2.0) + ADL (AIR Debug Launcher), I was able to successfully extract the Class, but using new Foo() would simply create empty MovieClip instances.