5

您好我有一个显示按钮的动作脚本文件。我想从我的显示器中删除该按钮。所以我需要对 actionscript 代码进行更改,并在更改后生成一个新的 SWF 文件。

任何人都可以帮助我了解如何从动作脚本文件生成 SWF 文件。

提前致谢。

4

3 回答 3

11

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

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

否则,如果“即时”不是您的意图,您需要对其进行反编译——这并不会真正产生高质量的源代码,因为反编译的符号可能难以使用。

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

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

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

FlashDevelop 下载页面

您需要 Flex SDK 才能使用 FlashDevelop 进行编译,因此您需要在此处获取:

Flex SDK - 您可以使用 3 或 4

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

于 2011-04-23T06:31:06.020 回答
6

如果您仍然有问题并需要快速解决方案,那么您可以尝试解决方法,而不是“更改操作脚本代码并生成新的 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. 好了,如果您知道实例的名称,请将其设为不可见或将其从显示列表中删除。如果您不知道名称,请尝试以艰难的方式找到它:

for(var i:int = 0; i < ldr.content.numChildren; i++)
{
     trace(ldr.content.getChildAt(i).name);
}

搜索后,选择按钮实例。

于 2011-04-20T14:13:30.317 回答
1

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

每个 IDE 将上述“*.as”文件设置为主应用程序文件的方式略有不同。您必须确保它扩展了 Sprite 或 MovieClip 类(或另一个已经这样做的基类),以便它有一个入口点来将自己附加到舞台上。

于 2011-04-20T16:24:23.460 回答