任何 Flash 编译器都可以将 特定脚本放在 Flash 电影 SWF 的特定帧上吗?
就像您在 Flash IDE 中所做的那样,只需使用 Timeline 面板将脚本放置在所需的帧上,脚本就会被编译到 Flash 影片 SWF 的该帧。
例如。第 1 帧上的脚本:
trace("Reached frame 1");
例如。第 2 帧上的脚本:
trace("Reached frame 2");
SWF 编译器:(希望)
使用 MXMLC 是可能的,尽管它没有很好的文档记录。
A Google 搜索 Flex Frame 元数据 将向您显示代码。经过一些尝试和错误,你应该能够让一些东西发挥作用。 (这就是 Flex 预加载器的工作原理)
据我所知,您提到的编译器都没有管理基于时间线的执行。但 swfmill 可能会有所帮助。我建议您编译自己的二进制文件,因为预编译的二进制文件非常过时并且缺乏重要的修复。
MTASC 和 Haxe 都允许您将代码“注入”到现有 swf 的特定框架中。通常的过程是使用 SWFMill 创建一个包含所有资源的 swf 库。之后,您将使用任一编译器的代码注入到该 swf 中,从而生成一个新的 swf。
将代码注入到第 1 帧中后,下一步尝试将代码注入到第 2 帧中。理论上这应该有效。我自己还没有尝试过,所以你可能想尝试一下。
有一个 haxe 编写的 neko 小工具,可以让您构建多个框架 swf: http://gamehaxe.com/2009/02/04/haxe-preloader-for-flash-writing-in-haxe/
也许你也可以看看未记录的功能
addFrameScript(frameNumber,function,frameNumber,function...)
在FLEX sdk中使用开源的ASC怎么样, 您可以使用它进行编译,然后将生成的 abc 封装到 DoAbc 标记中,并使用任何处理 swf 文件格式的库放入所需的框架中。