Flash,ActionScript:从外部SWF加载资源

时间:2009-08-27 05:09:04

标签: flash actionscript-3 actionscript flash-cs3

我们有一个小部件(SWF),需要分成两个SWF。主SWF将包含所有编程和业务逻辑,它还将加载第二个SWF文件,其中包含资产,字体等。

我在Flash方面的经验有限,但我知道可以在Flex中完成。无论如何,我们必须在Flash CS3中执行此操作。是否可以在Flash中执行此操作?如果是,我们需要遵循哪些步骤?

谢谢, 斯

2 个答案:

答案 0 :(得分:3)

从外部SWF加载资源时,实例化存储在外部SWF中的类通常很有用 - 例如,通常以这种方式访问​​字体。

执行此操作时,您必须确保本地SWF具有这些类的定义,并且只是将两个SWF文件一起编译并不能保证这一点。更具体地说,如果在SWF上依赖于另一个类中的类,那么两个SWF文件最终都会携带类定义的副本,并且当您在运行时加载外部SWF文件时,会出现转换错误,因为VM不知道相同外部SWF中的命名类与您拥有的类完全相同。

要解决此问题,您需要在加载的SWF上使用ApplicationDomain.getDefinition() - 请参阅此处查看detailed example。除了有关如何使用Loader的详细示例之外,它们还展示了如何从外部SWF获取Class个对象。

答案 1 :(得分:2)

查看Loader课程。代码可以比示例中的代码简单,但它是一个开始。 flashandmath.com网站上有一个很好的解释教程。

在你的主要fla(带逻辑)中,创建一个Loader,告诉它加载资产,在Event.INIT上,使用资产。