【发布时间】:2011-04-20 10:59:56
【问题描述】:
您好,我有一个显示按钮的动作脚本文件。我想从我的显示器中删除该按钮。所以我需要对 actionscript 代码进行更改,并在更改后生成一个新的 SWF 文件。
任何人都可以帮助我了解如何从动作脚本文件生成 SWF 文件。
提前致谢。
【问题讨论】:
标签: actionscript-3 actionscript flash swfloader
您好,我有一个显示按钮的动作脚本文件。我想从我的显示器中删除该按钮。所以我需要对 actionscript 代码进行更改,并在更改后生成一个新的 SWF 文件。
任何人都可以帮助我了解如何从动作脚本文件生成 SWF 文件。
提前致谢。
【问题讨论】:
标签: actionscript-3 actionscript flash swfloader
我想你是在问你用什么将 as3 编译成 .swf 文件。
您的源文件是 .fla 还是 .as 文件?请记住,.swf 不是源文件,它是编译后的文件。因此,如果您想即时修改它,您可以使用上面 anemgyenge 建议的方法。
否则,如果“即时”不是您的意图,您需要对其进行反编译 - 这并不会真正产生高质量的源代码,因为反编译的符号可能难以使用。
Flash CS5 可以编译成 .swf,你的主要源文件是 .fla 和 .as 的代码文件。
Flex SDK 可以将 AS3 编译为 .swf,您可以使用 Flex Builder 或 Flash Develop 作为 IDE 来编辑您的 as3 代码。
FlashDevelop 是免费的,您可以在这里获取:
您需要 Flex SDK 才能使用 FlashDevelop 进行编译,因此您需要在此处获取:
Flex SDK - you can use either 3 or 4
如果您想修改它,何不试试 wonderfl.net。网站的布局有点草率,但是有大量的代码可以学习,你不需要安装任何东西!
【讨论】:
如果您仍然遇到问题并需要快速解决方案,那么您可以尝试解决方法,而不是“更改 actionscript 代码并生成新的 SWF”。
将带有按钮的 swf 文件嵌入到新的 Flash 项目中: 为此,请使用 Embed 元标记并将文件作为 ByteArray 嵌入,然后将其加载到 Loader 对象。
[Embed(source="filename-of-swf-with-button", mimeType="application/octet-stream")]
var class1:Class;
var ldr:Loader = new Loader();
ldr.loadBytes(new class1());
在此之后,您可以通过ldr.content 访问“swf”内容。
好了,如果您知道实例的名称,请将其设为不可见或将其从显示列表中删除。如果你不知道这个名字,那就试着找到它吧:
for(var i:int = 0; i < ldr.content.numChildren; i++)
{
trace(ldr.content.getChildAt(i).name);
}
搜索后,选择按钮实例。
【讨论】:
您是要求动态生成(在运行时)还是将 AS 文件编译为 SWF 文件?如果您只是想将 AS 文件编译为 SWF,您可以在各种 ActionScript IDE(Flash Builder、Flex、FlashDevelop [我最喜欢的])中创建一个新项目,将相关文件作为您的主应用程序文件,编译它,如果一切运行良好... presto - 你有一个 SWF!
每个 IDE 将上述“*.as”文件设置为主应用程序文件的方式略有不同。您必须确保它扩展 Sprite 或 MovieClip 类(或另一个已经这样做的基类),以便它有一个入口点来将自己附加到舞台。
【讨论】: