代码之家  ›  专栏  ›  技术社区  ›  Sri

flash,actionscript:从外部swf加载资产

  •  2
  • Sri  · 技术社区  · 15 年前

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

    我在闪存方面的经验有限,但我知道它可以在flex中完成。不管怎样,我们必须在flash cs3中完成。在闪存中可以这样做吗?如果是,我们需要遵循哪些步骤?

    谢谢, SRI

    2 回复  |  直到 15 年前
        1
  •  2
  •   George Profenza    15 年前

    看看 Loader 类。代码可能比示例中的代码简单,但它只是一个开始。有一个关于 flashandmath.com 网站。

    在主fla(带逻辑)中,创建一个加载程序,告诉它加载资产,在event.in it上,使用资产。

        2
  •  3
  •   Guss    15 年前

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

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

    为了解决你需要使用的问题 ApplicationDomain.getDefinition() 在加载的SWF上-参见此处 detailed example .除了一个关于如何使用的详细示例 Loader 他们还展示了如何获得 Class 来自外部SWF的对象。