0

我们创建嵌入在第三方包装 SWF 文件中的 Flash 游戏,这些文件为 FP9 导出。

如果我创建一个使用 Pixel Bender 类(Shader、ShaderData)的 FP10 SWF,当我在 FP10 播放器内的 FP9 包装器中运行它们时,会引发错误

验证错误:错误 #1014:找不到类 flash.display::Shader。

有什么方法可以访问这些 FP10 类 - 还是最外层包装器的版本决定了子 SWF 可以使用什么?这与应用程序域有关吗?

感谢您的帮助,詹姆斯

4

2 回答 2

0

嗯。我做了类似的事情——如果你制作了一个包含任何类导入的 SWF 文件,然后从另一个不导入它们的 SWF 文件中加载它,你就可以访问这些类。

我不确定是否按定义(可能会引发编译时错误),但肯定可以获取实例(在子 SWF 中定义某些内容,然后通过 MovieClip(theLoader.content).theInstance 访问)。

这里的问题是本机闪存库可能不包括在内 - 毕竟它们是运行时的一部分。所以 - 尝试实例访问,除此之外,我想不出任何解决方案。

于 2010-10-06T16:07:33.697 回答
0

我在 kirupa.com 上从 senocular 那里得到了明确的答案——不可能在 FP9 包装器中使用 FP10 类

初始 SWF - 实例化播放器的 SWF - 确定向所有后续 SWF 公开的 API。如果您有一个包装器 SWF in 9, SWF 10 内容加载到其中,则该内容将仅具有对 SWF 9 API 的 API 访问权限。这是设计使然。

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

于 2010-10-07T08:02:12.223 回答