2012-07-20 26 views
0

我將一個遊戲swf加載到我的swf中。然而,遊戲的預加載器(來自庫)在嘗試引用它時遇到根問題。我認爲這是因爲root現在是我的主要swf而不是preloader swf。有誰知道一種方法來加載一個瑞士法郎,並允許它保留自己的根?對於我來說,更改我的加載代碼比遊戲預加載器代碼更容易。加載後的根引用外部的swf

謝謝!

+0

你會得到什麼樣的問題/錯誤?你是如何加載/添加另一個SWF到顯示列表。 – 2012-07-20 16:52:28

+0

有很多機制可以用來加載外部swf,您可以更加具體地瞭解您用於加載的類。我更熟悉Flex在Flex中的工作方式,但我想大部分內容都可以轉換爲純AS3以及http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-799a.html – shaunhusain 2012-07-20 17:53:07

回答

0

對不起,這是我從來沒有真正解決問題,必須做一個通過改變我加載的swf中的代碼來解決這個問題。我無法找到其他方法來引用正確的數據。

謝謝大家的幫助,雖然:)

0

我認爲如果你引用明確引用main.swf根目錄的名稱而不是「root」,然後使用「this」作爲preloader,會更容易。

例如,如果您將文檔類稱爲Main(如Main.as)。

在預加載的MovieClip代碼

則...如果要爲預加載寫一個類,這樣做:

public function Preloader() { 
    addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);    
} 

private function init(e:Event):void { 
    var main = (root as Main); 

    // do stuff with "main here" 
    main.addEventListner(...); // reference the main.swf 
    this.addEventListener(...); // reference the preloader 
}