任何 Flash 编译器都可以将特定脚本放在Flash 电影 SWF 的特定帧上吗?
就像您可以在Flash IDE中执行的操作一样,只需使用“时间轴”面板在所需帧上放置一个脚本,该脚本就会被编译为 Flash 电影 SWF 的该帧。
例如。第 1 帧上的脚本:
trace("Reached frame 1");
例如。第 2 帧上的脚本:
trace("Reached frame 2");
SWF 编译器:(有希望)
任何 Flash 编译器都可以将特定脚本放在Flash 电影 SWF 的特定帧上吗?
就像您可以在Flash IDE中执行的操作一样,只需使用“时间轴”面板在所需帧上放置一个脚本,该脚本就会被编译为 Flash 电影 SWF 的该帧。
例如。第 1 帧上的脚本:
trace("Reached frame 1");
例如。第 2 帧上的脚本:
trace("Reached frame 2");
SWF 编译器:(有希望)
MXMLC 是可能的,尽管它没有很好的文档记录。
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-written-in-haxe/
也许你也可以看看未记录的功能
addFrameScript(frameNumber,function,frameNumber,function...)
在 FLEX sdk 中使用开源 ASC 怎么样,您可以使用它进行编译,然后将生成的 abc 封装到 DoAbc 标记中,并使用任何处理 swf 文件格式的库放入所需的框架中。