as3外部swf类加载

时间:2012-03-05 22:25:59

标签: actionscript-3 actionscript flash external

我的外部swf(ext.swf)已加载到我的FlashDevelop as3项目中。

当我进行检查时(objectsList[0]是Class1)我即使变得虚假 objectsList[0]元素是Class1。 Class1在ext.swf

但是当我在外部编写类似(objectListInExternalSwf[0]为Class1)的命令时 swf然后在我的项目中使用该swf并进行检查(objectsList[0]是Class1) 我明白了。

我的问题是:我是否必须使用外部swf中的所有类,以便编译器 必须将它们放在swf中,以便它们可以用于其他swf作为外部加载的项目中吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,加载SWF时,其内容将被放入单独的ApplicationDomain中。所以,即使你有相同的类,Flash也会认为它是不同的。

要共享相同的类定义,您必须位于同一个ApplicationDomain中(或从其继承):

var l : Loader = new Loader;
l.load( new URLRequest("foo.swf"),
        new LoaderContext(false, new ApplicationDomain(ApplicationDomain.currentDomain));