【问题标题】:as3 external swf classes loadedas3 外部 swf 类已加载
【发布时间】:2012-03-06 21:08:26
【问题描述】:

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

当我进行检查时(objectsList[0] 是 Class1),即使我得到了错误 objectsList[0] 元素是 Class1。 Class1 在 ext.swf 中

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

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

【问题讨论】:

  • 你能发布一些代码吗?什么是对象列表[]?它是如何形成的?创建它的代码在哪里?很难采取您的具体实施,只是猜测您是如何做到的以提出解决方案。顺便说一句,欢迎使用 stackoverflow。

标签: actionscript-3 actionscript flash external


【解决方案1】:

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

要共享同一个类定义,你必须在同一个 ApplicationDomain 中(或从同一个继承):

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多