2010-09-23 87 views
0

所以我加載一個swf到另一個swf像這樣卸載SWF

correctURL是我的外部SWF可變

功能startLoad(){

var mRequest:URLRequest = new URLRequest(correctURL.toString()); 
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler); 
mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler); 
mLoader.load(mRequest); 

}

function onCompleteHandler(loadEvent:Event) {

var gmc:MovieClip = new MovieClip(); 
    gmc.x = 266; 
    gmc.y = 67; 
    addChild(gmc); 
    gmc.addChild(loadEvent.currentTarget.loader); 

}

但我掙扎卸載該死的東西時,我想用另一個SWF來代替它。

我想要的代碼是這個

功能closeAllStreams(E:事件){

e.currentTarget.loader.unloadAndStop(); 
    gmc = null; 
    gmc.removeChild(e.currentTarget.loader); 
    trace("unloaded"); 

}

mLoader.contentLoaderInfo.addEventListener(Event.UNLOAD,closeAllStreams);

我只是沒有任何運氣,因爲我仍然可以聽到頂部的舊聲音。

我不想訪問加載的swf的變量,或者我只是作弊哈哈。

感謝

回答

0

好,unloadAndStop()將僅Flash播放器10工作,然後你不需要將null分配給加載器引用,這種方法本身。您的closeAllStreams方法將在此語句後調用

e.currentTarget.loader.unloadAndStop(); 或 e.currentTarget.loader.unload();

所以最好不要在卸載事件調度程序中調用它,即closeAllStreams在你的情況。

+0

你是明星,謝謝:) – Hornerlas 2010-09-23 12:26:15

0

嗯,這是無論如何一個問題:

gmc = null; 
gmc.removeChild(e.currentTarget.loader); 

我需要解釋爲什麼

+0

這通常是與stackoverfow是的想法是),除非它成爲pointoutheissueanddontsolveit.com? :) – Hornerlas 2010-09-23 07:51:22