2

我一直在努力让 AS2 swf 在 AS3 swf 中正确加载 - 但无济于事......

AS2 文件(这是一个相当大的应用程序,引用了许多外部 xml 文件等)在 Flash Player 中启动时可以完美运行。

当尝试通过 AS3 swf(使用 URLRequest 和 Loader 类)加载相同的文件时,文件开始加载,但在预加载阶段突然停止。(如果我尝试使用 AS2 "loadMovie" 加载它,也会发生同样的情况。)

更新:似乎 swf 实际上是通过 AS2 loadMovie 而不是 AS3 Loader 类加载的。

还有什么可以尝试的?安全设置、自定义加载器类 - 任何建议都值得赞赏。

4

4 回答 4

3

还要记住,加载到 AS3 swf 中的 AS2 swf 将无法与其父 swf 通信,因此加载程序将无法跟踪 swf 的加载 - 这可能会给您带来问题。您应该构建在 AS2 中加载的 swf,然后使用 LocalConnection 将其连接到 AS3 swf。

于 2010-04-21T21:05:57.260 回答
1

一般来说,您加载的电影必须设计为从其他 swf 加载。例如,任何初始化代码都必须在 Event.ADDED_TO_STAGE 事件发生之后放置,并且对根的每个引用都不会按预期工作。例如,一个元素的根它是 swf 单独运行的阶段,但是当它是从另一个 swf 加载的 swf 时,它是父 swf,它的大小和位置可能不同,会给您带来一些麻烦。

于 2010-04-19T16:55:10.207 回答
1

在您的 AS2 代码中,确保将 lockroot(或者是 _lockroot?)设置为 true。此外,如果您在任何地方的 AS2 代码中使用 _level0,它将无法正常工作,您需要将其更改为 _root。

于 2010-04-22T23:37:30.620 回答
1

检查这个。

  1. 在 frame2 中制作一个 AS2 容器来加载您的 AS2 APP;
  2. 将容器加载到 AS3 动画。
  3. 通过 LocalConnection 进行这些通信。

或者

将所有 AS2 APP 类导出到第 2 帧(在发布设置中)。

于 2010-08-12T03:06:57.863 回答