2010-02-12 21 views
0

我正在使用Tweener類的用戶界面,它也加載了外部.swf,我相信也使用Tweener類。我如何隔離Tweener類,以便加載.swfs不會干擾我的補間

在追蹤了各種bug行爲之後,我在想,問題在於加載的.swf正在調用Tweener.removeAllTweens()***(這只是一個假設)並停止了其他的補間正在我的用戶界面中發生。

這是可能的,如果是這樣,是否可以隔離Tweener類的兩個版本,以便它們不引用同一個對象?

謝謝:)

回答

2

您可以嘗試使用具有不同ApplicationDomain的LoaderContext。

當加載外部SWF你可以加載SWF文件的定義*是共享與主SWF,覆蓋他們或者你可以讓他們完全隔離。你把這個定義放到一個被稱爲ApplicationDomain的地方。

**閱讀類,包括標記爲庫導出圖形資源*

的設置你感興趣的是如下: 你加載的SWF域是從你的主分離並保持它自己的類定義。

var separateDefinitions:LoaderContext = new LoaderContext(); separateDefinitions.applicationDomain = new ApplicationDomain(); var myLoader:Loader = new Loader(); var 請求:URLRequest =新的URLRequest( 「OtherSWF.swf」); myLoader.load(請求, separateDefinitions);

LoaderContext and ApplicationDomain explained by Senocular on kirupa

+0

我在寫我的答覆時Marplesoft submited他... – goliatone 2010-02-12 21:51:38

2

是的,它被稱爲應用程序域。這就像一個獨立的內存空間來加載外部的SWF文件。有一個decent article here就可以了。

相關問題