您好我有一个显示按钮的actionscript文件。我想从显示屏上删除该按钮。因此,我需要对actionscript代码进行更改,并在进行更改后生成新的SWF文件。
任何人都可以帮助我了解如何从actionscript文件生成SWF文件。
先谢谢。
答案 0 :(得分:11)
我想你在问你用什么来编译as3到.swf文件。
您的源文件是.fla还是.as文件?请记住,.swf不是源文件,而是编译文件。因此,如果您想在运行中修改它,您可以使用上面的anemgyenge建议的方法。
否则,如果“在运行中”不是您的意图,您需要对其进行反编译 - 这实际上并不会导致质量来源,因为反编译的符号可能难以使用。
Flash CS5可以编译为.swf,主源文件是代码文件的.fla和.as。
Flex SDK可以将AS3编译为.swf,您可以使用Flex Builder或Flash Develop作为IDE来编辑as3代码。
FlashDevelop是免费的,你可以在这里得到它:
您需要使用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类(或已经执行此操作的另一个基类),因此它具有将自身附加到舞台的入口点。