Flash 从父swf卸载swf

Flash 从父swf卸载swf,flash,actionscript-3,swfloader,Flash,Actionscript 3,Swfloader,所以我像这样把一个swf加载到另一个swf中 correctURL是我的外部swf变量 函数startLoad(){ } 函数onCompleteHandler(loadEvent:Event) { } 但当我想用另一个swf替换它时,我正在努力卸下这该死的东西 我正在尝试的代码是 函数closeAllStreams(e:Event){ } mLoader.contentLoaderInfo.addEventListener(Event.UNLOAD,closeAllStreams) 我只是一点

所以我像这样把一个swf加载到另一个swf中

correctURL是我的外部swf变量

函数startLoad(){

}

函数onCompleteHandler(loadEvent:Event) {

}

但当我想用另一个swf替换它时,我正在努力卸下这该死的东西

我正在尝试的代码是

函数closeAllStreams(e:Event){

}

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

我只是一点运气都没有,因为我仍然可以听到头顶上的旧声音

我也不想访问加载的swf变量,否则我只会作弊哈哈


谢谢

无论如何,这是个问题:

gmc = null; 
gmc.removeChild(e.currentTarget.loader); 
我需要解释一下为什么

好吧,unloadAndStop()只适用于Flash Player 10,然后您不需要为加载程序引用指定null,这个方法本身就可以。在此语句之后将调用closeAllStreams方法

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


因此,最好不要在卸载事件调度器内部调用它,即在您的案例中关闭所有流

这通常是stackoverfow的想法是的;),除非它变成了PointOutHeissueAndOntSolveit.com??)
    var gmc:MovieClip = new MovieClip();
    gmc.x = 266;
    gmc.y = 67;
    addChild(gmc);
    gmc.addChild(loadEvent.currentTarget.loader); 
    e.currentTarget.loader.unloadAndStop();
    gmc = null;
    gmc.removeChild(e.currentTarget.loader);
    trace("unloaded");
gmc = null; 
gmc.removeChild(e.currentTarget.loader);