将AS2 SWF加载到AS3 SWF时出现问题
-
28-09-2019 - |
题
我一直在努力使AS2 SWF正确加载到AS3 SWF中-但无济于事...
在Flash Player中启动时,AS2文件(这是一个很大的应用程序,引用了许多外部xml文件等)。
当尝试通过AS3 SWF(使用URLRequest和Loader类)加载同一文件时,该文件开始加载,但在预加载阶段突然停止。(如果我尝试使用AS2“ loadMovie”加载它,也会发生同样的情况。)
更新:似乎瑞士法郎实际上是通过AS2 loadMovie而不是AS3 Loader类加载的。
还有什么可以尝试的?安全设置,自定义加载程序类-任何建议,我们将不胜感激。
解决方案
还请记住,加载到AS3 SWF中的AS2 SWF将无法与其父SWF通信,因此,加载程序将无法跟踪SWF的加载-因此可能会引起问题。您应该构建在AS2中执行加载的SWF文件,然后使用LocalConnection将其连接到AS3 SWF文件。
其他提示
通常,必须将已加载的电影设计为从其他swf加载。例如,任何初始化代码都必须位于Event.ADDED_TO_STAGE事件发生之后,并且对根的所有引用均无法按您期望的那样工作。例如,某个元素的根是单独运行swf的阶段,但是当swf从另一个swf加载时,根是父swf,其大小和位置可能会有所不同。
在您的AS2代码中,请确保将lockroot(或者是_lockroot?)设置为true。另外,如果您在任何地方的AS2代码中都使用_level0,它将无法正常工作,则需要将其更改为_root。
选中这个。
- 在frame2中制作一个AS2容器以加载您的AS2 APP;
- 将容器加载到AS3动画中。
- 通过LocalConnection进行这些通信。
或
将所有AS2 APP类导出到第2帧(在发布设置中)。
不隶属于 StackOverflow