如何隔离Tweener类,以便加载的.swfs不会干扰我的补间

时间:2010-02-12 21:01:23

标签: actionscript-3 actionscript tweener

我正在开发一个大量使用Tweener类的UI,它还加载了一个外部.swf,我相信它也使用了Tweener类。

在追踪各种各样的bug行为之后,我认为问题在于加载的.swf正在调用Tweener.removeAllTweens()***(这只是一个假设)并停止其他补间发生在我的用户界面。

这是否可行,如果是这样,是否可以隔离Tweener类的两个版本,以便它们不引用同一个对象?

谢谢:)

2 个答案:

答案 0 :(得分:2)

是的,它被称为应用程序域。它就像一个单独的内存空间来加载外部SWF。它上面有一个decent article here

答案 1 :(得分:2)

您可以尝试将LoaderContext与其他ApplicationDomain一起使用。

加载外部SWF时,您可以将加载的SWF定义*与主SWF 共享覆盖,或者您可以将它们完全隔离。您将此定义放入称为ApplicationDomain的内容中。

**读取类,包括标记为在库中导出的图形资源。*

您感兴趣的设置如下: 加载的SWF域与main隔离,并保留自己的类定义。

  

var separateDefinitions:LoaderContext   = new LoaderContext(); separateDefinitions.applicationDomain   = new ApplicationDomain(); var myLoader:Loader = new Loader(); VAR   request:URLRequest = new URLRequest(   “OtherSWF.swf”);   myLoader.load(请求,   separateDefinitions);

LoaderContext and ApplicationDomain explained by Senocular on kirupa