2012-03-09 55 views
2

我試圖加載另一個SWF使用Aaction腳本3.加載使用AS3

我有問題點擊一個按鈕的另一個swf文件是,它似乎只是加載和電影混合在一起。是否可以加載並在舞臺上更換類似於你怎麼可以爲使用loadMovieNum爲此在AS2新加載的SWF()

這是我到目前爲止有:

//Add event listener for button click 
backButton.addEventListener(MouseEvent.CLICK, backButtonClick); 

//Create a function for the button click 
function backButtonClick(ev:MouseEvent):void 
{ 
var request:URLRequest = new URLRequest("2.swf"); 
var loader:Loader = new Loader() 
loader.load(request); 
addChild(loader); 
} 

非常感謝

回答

6

使用Loader是這樣的:

//Add event listener for button click 
var singleLoader:Loader = new Loader(); 
backButton.addEventListener(MouseEvent.CLICK, backButtonClick); 

//Create a function for the button click 
function backButtonClick(ev:MouseEvent):void 
{ 
    var request:URLRequest = new URLRequest("2.swf"); 
    singleLoader.load(request);   
    addChild(loader); 
} 

你在做什麼是你要創建一個新的Loader爲您加載每一個新的SWF每一次。只需使用一個加載器,並且每次加載內容時,都應該替換現有的內容。如果不是,調整代碼如下所示:

function backButtonClick(ev:MouseEvent):void 
{ 
    var request:URLRequest = new URLRequest("2.swf"); 
    singleLoader.unloadAndStop(true); 
    singleLoader.load(request); 
    addChild(loader); 
} 

查看文檔瞭解更多:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html

更新

如果要清除一切走下舞臺時,你這樣做,請參閱以下問題&答案My Actionscript 3.0 Stage will not clear

+0

但是,我現在得到此錯誤: TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。 \t at map_fla :: MainTimeline/frame1() – mjsey 2012-03-09 23:17:37

+0

您是否添加了singleLoader的定義?像這樣「var singleLoader:Loader = new Loader();」 ?? – 2012-03-09 23:37:06

+0

啊我錯過了,它解決了這個問題,但現在它仍然加載電影在原來的頂部,並顯示了兩者的混合。我已經嘗試了你的兩個建議。 – mjsey 2012-03-09 23:49:58