因此,我将一个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);}
函数onCompleteHandler(loadEvent:Event) {
var gmc:MovieClip = new MovieClip();
gmc.x = 266;
gmc.y = 67;
addChild(gmc);
gmc.addChild(loadEvent.currentTarget.loader); }
但是当我想用另一个swf替换它的时候,我很难卸下这个该死的东西。
我正在尝试的代码是
函数closeAllStreams(e:Event) {
e.currentTarget.loader.unloadAndStop();
gmc = null;
gmc.removeChild(e.currentTarget.loader);
trace("unloaded");}
( mLoader.contentLoaderInfo.addEventListener(Event.UNLOAD,closeAllStreams);
我只是没有任何运气,因为我仍然可以听到旧的声音在顶部。
我也不想访问加载的swf变量,否则我只想欺骗哈哈。
谢谢
发布于 2010-09-23 09:37:27
好的,unloadAndStop()只适用于Flash 10,然后不需要将null赋值给加载器引用,这个方法可以自己完成。您的closeAllStreams方法将在此语句之后调用。
e.currentTarget.loader.unloadAndStop();OR e.currentTarget.loader.unload();
因此,最好不要在卸载事件分派程序(即closeAllStreams )中调用它。
发布于 2010-09-23 01:06:23
不管怎样,这是个问题:
gmc = null;
gmc.removeChild(e.currentTarget.loader); 我需要解释一下为什么
https://stackoverflow.com/questions/3774642
复制相似问题