views:

17

answers:

2

Hi,

We create Flash games which are embedded within third party wrapper SWF files, which are exported for FP9.

If I create an FP10 SWF which uses Pixel Bender classes (Shader, ShaderData), when I run them in an FP9 wrapper within an FP10 player, an error is thrown

VerifyError: Error #1014: Class flash.display::Shader could not be found.

Is there any way to get access to these FP10 classes - or does the version of the outermost wrapper determine what's available to child SWFs? Is this something to do with applicationDomain?

Thanks for any help, James

A: 

Hm. I did something similar to this - if you make a SWF file with any class import in it, and then load it from another SWF file which doesn't import them, you can access these classes.

I am not sure if by definition (probably would throw compile-time error), but certainly possible to get an instance (define something in the child SWF and then access by MovieClip(theLoader.content).theInstance).

The problem here is the fact that the native flash libraries might not be included - they are a part of the runtime after all. So - try the instance access, other than that, I can not think of any solution.

Aurel300
A: 

I got a definitive answer from senocular over at kirupa.com - it's not possible to use FP10 classes within a FP9 wrapper

The initial SWF - the SWF that instantiated the player - determines the API exposed to all subsequent SWFs. If you have a wrapper SWF in 9, SWF 10 content loaded into it, that content will have API access to SWF 9 APIs only. This is by design.

http://www.kirupa.com/forum/showthread.php?t=355224

tarling