2010-09-23 82 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