0

是否可以在编译时在 swf 中注入数据,例如资产(视频、图像...)的集合?

我们有一个 flex 应用程序,它需要能够在运行时导出包含所有必要数据的 swf,因为它需要作为独立应用程序(在线和离线)运行。

到目前为止的想法是创建一个调用 flex 编译器并为其提供所需数据的服务器端脚本。这种方法似乎可以对单个文件使用 [Embed] 标记,但是当尝试为每个导出的 swf 注入长度不同的数据集合时,它会变得有点混乱。

我们可以为每个资产生成一个包含一个嵌入变量的 mxml 文件,并在编译时包含它,但这种方法似乎很理想。

我们已经研究了一些 actionscript 字节码库,但那些似乎不适合这个。

对于这类问题有什么建议或其他方法吗?

谢谢,

伯特

4

4 回答 4

3

[Embed]绝对是要走的路。您可以生成包含大量嵌入的 AS 文件。虽然生成的代码可能有点难看,但您也可以生成更好的 api。例如,如果您想要一个数组,请生成如下代码:

[Embed(...)]
private var img_0:Class;

[Embed(...)]
private var img_1:Class;

[Embed(...)]
private var img_2:Class;

public var images:Array = [img_0, img_1, img_2];

这样,唯一的丑陋之处在于只有代码生成器才能看到的私有变量。公共变量是一个数组。

于 2010-11-29T14:18:23.707 回答
0

我不确定你为什么需要这样做,但我想我会尝试从模板或类似的东西生成所需的动作脚本文件,然后调用 flex 编译器。希望这可以帮助你...

于 2010-11-29T14:12:07.340 回答
0

尝试as3swf
它能够从一个空的ByteArray和 afaik 生成一个 swf 文件,它可以在那里插入嵌入式图形

于 2010-11-29T14:22:37.703 回答
0

就像 Sam 说的,[Embed] 可以工作,但你要加载什么?我的第一反应是为每个请求重新编译会对服务器造成很大的拖累。

于 2010-11-29T14:27:29.280 回答