我们有一个小部件 (SWF),需要将其分解为两个 SWF。主 SWF 将包含所有编程和业务逻辑,它还将加载第二个 SWF 文件,该文件将包含资产、字体等。
我在 Flash 方面的经验有限,但我知道它可以在 Flex 中完成。无论如何,我们必须在 Flash CS3 中完成。是否可以在 Flash 中执行此操作?如果是,我们需要遵循哪些步骤?
谢谢, 斯里
我们有一个小部件 (SWF),需要将其分解为两个 SWF。主 SWF 将包含所有编程和业务逻辑,它还将加载第二个 SWF 文件,该文件将包含资产、字体等。
我在 Flash 方面的经验有限,但我知道它可以在 Flex 中完成。无论如何,我们必须在 Flash CS3 中完成。是否可以在 Flash 中执行此操作?如果是,我们需要遵循哪些步骤?
谢谢, 斯里
从外部 SWF 加载资源时,实例化存储在外部 SWF 中的类通常很有用 - 例如,通常以这种方式访问字体。
这样做时,您必须确保您的本地 SWF 具有这些类的定义,并且简单地将两个 SWF 文件编译在一起并不能保证这一点。更具体地说,如果一个 SWF 依赖于另一个 SWF 中的类,那么两个 SWF 文件最终都会携带类定义的副本,并且当您在运行时加载外部 SWF 文件时会出现转换错误,因为 VM 不知道相同的外部 SWF 中的命名类与您拥有的类完全相同。
为了解决您需要ApplicationDomain.getDefinition()
在加载的 SWF 上使用的问题 - 请参阅此处以获取详细示例。除了有关如何使用的详细示例之外,Loader
它们还展示了如何Class
从外部 SWF 获取对象。
看看Loader类。代码可能比示例中的代码更简单,但这只是一个开始。flashandmath.com网站上有一个解释清楚的教程。
在你的 main fla(带有逻辑)中,创建一个加载器,告诉它加载资产,在 Event.INIT 上,使用资产。