【发布时间】:2010-12-22 05:37:56
【问题描述】:
我正在尝试将 Flex SDK 编译的 swf 加载到 Flash IDE 导出的 swf 中,并通过 getDefinition() 实例化资产。通常,这适用于从 Flash IDE 导出的资源,然后也从 Flash IDE 加载到另一个 swf。
这就是我通常只使用 Flash IDE 就可以做到这一点的方法:
Loader -> 使用相同的 ApplicationDomain -> getDefinition(class)
现在,使用 [Embed] 元数据标记从 Flex SDK 编译的“Test.as”:
Loader -> 使用相同的 ApplicationDomain -> getDefinition("Test_" + class)
问题是我宁愿不必跟踪加载的资产库来为我想获得的类名添加前缀 (('Test_" + class) vs (class )). 有没有什么方法可以在不引用从类中提取的库或不访问原始加载器的情况下执行此操作?这样我就不需要知道资产来自哪个 swf,只需要知道我的类名可以从当前的 ApplicaitonDomain 实例化。
谢谢
【问题讨论】:
-
深入思考,我认为这是有道理的。 [Embed] 标签将资产嵌入到该类而不是该 fla 的阶段。这就是为什么使用 flex 你必须在定义前加上它嵌入的类而不是它在全局命名空间中可用。我只需要将每个库的类名硬编码到该类型对象的工厂类中,以便实例化它。很抱歉打扰了!
标签: apache-flex flash actionscript-3 loader applicationdomain