如何从actionscript文件生成SWF文件?

时间:2011-04-20 10:59:57

标签: actionscript-3 actionscript flash swfloader

您好我有一个显示按钮的actionscript文件。我想从显示屏上删除该按钮。因此,我需要对actionscript代码进行更改,并在进行更改后生成新的SWF文件。

任何人都可以帮助我了解如何从actionscript文件生成SWF文件。

先谢谢。

3 个答案:

答案 0 :(得分:11)

我想你在问你用什么来编译as3到.swf文件。

您的源文件是.fla还是.as文件?请记住,.swf不是源文件,而是编译文件。因此,如果您想在运行中修改它,您可以使用上面的anemgyenge建议的方法。

否则,如果“在运行中”不是您的意图,您需要对其进行反编译 - 这实际上并不会导致质量来源,因为反编译的符号可能难以使用。

Flash CS5可以编译为.swf,主源文件是代码文件的.fla和.as。

Flex SDK可以将AS3编译为.swf,您可以使用Flex Builder或Flash Develop作为IDE来编辑as3代码。

FlashDevelop是免费的,你可以在这里得到它:

FlashDevelop Download Page

您需要使用Flash SDK来编译Flex SDK,因此您需要在此处获取:

Flex SDK - you can use either 3 or 4

如果你想修补它,为什么不试试wonderfl.net。在网站布局方面有点草率,但是需要学习大量的代码而且你不需要安装任何东西!

答案 1 :(得分:6)

如果您仍然遇到问题并需要快速解决方案,那么您可以尝试进行解决方法,而不是“更改动作脚本代码并生成新的SWF”。

使用按钮在新的flash项目中嵌入swf文件: 为此,使用Embed metatag并将文件作为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);
}

在搜索之后,选择按钮实例。

答案 2 :(得分:1)

您是要求动态生成(在运行时)还是将AS文件编译为SWF文件?如果您只是想将AS文件编译为SWF,可以在各种ActionScript IDE(Flash Builder,Flex,FlashDevelop [我最喜欢的])中创建一个新项目,将有问题的文件包含为主应用程序文件,编译它,如果一切顺利... presto - 你有一个SWF!

每个IDE使用稍微不同的方式将所述“* .as”文件设置为主应用程序文件。您必须确保它扩展了Sprite或MovieClip类(或已经执行此操作的另一个基类),因此它具有将自身附加到舞台的入口点。