【发布时间】:2010-06-08 03:06:27
【问题描述】:
使用 Flash CS4,我正在制作一个包含十几种声音和几首音乐曲目的游戏。为了减少发布/编译时间,我将声音和音乐移到了(外部)SWC 中,该 SWC 位于项目的“库路径”中。这可行,但有一点需要注意......
在我将资产外部化之前,我一直动态地通过使用getDefinitionByName 获取它们的类来实例化嵌入声音的Sound 对象。
// something like...
var soundSubClass:Class = Class(getDefinitionByName(soundClassName));
var mySound:Sound = new soundSubClass();
但是现在它们位于外部 SWC 中,我需要对这些类进行“具体”引用才能像这样加载它们,否则它们不会包含在已发布的 SWF 中,并且会出现运行时错误当getDefinitionByName 试图获取一个不存在的类时。
所以,我的问题:在 Flash Professional CS4 中,有没有办法强制包含库的资源,无论它们是否是静态链接的?
FlashDevelop 有一个编译器选项“SWC 包含库”,这正是我想要的,并且与“SWC 库”选项不同。 “SWC 包含库”选项的描述是“将 SWC 文件中的所有类链接到生成的应用程序 SWF 文件,无论是否使用它们。”
(另外,对我来说,重要的是所有资产都包含在一个已编译的 SWF 中。在运行时链接不是我所追求的。)
【问题讨论】:
标签: apache-flex flash actionscript-3 swc