0

だから私はそのような別のswfにswfをロードしました

私の外部swf変数であるcorrectURL

関数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:Event){

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

}

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

古い音が上から聞こえるので、運が悪いだけです。

ロードされたswfの変数にもアクセスしたくないか、ハハをごまかしたいだけです。

ありがとう

4

2 に答える 2

0

まあこれはとにかく問題です:

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

理由を説明する必要がありますか

于 2010-09-23T01:06:23.967 に答える
0

そうですね、unloadAndStop()はFlash-Player 10でのみ機能し、ローダー参照にnullを割り当てる必要はありません。このメソッドはそれ自体で機能します。closeAllStreamsメソッドは、このステートメントの後に呼び出されます

e.currentTarget.loader.unloadAndStop(); またはe.currentTarget.loader.unload();

したがって、アンロードイベントディスパッチャ(この場合はcloseAllStreams)内で呼び出さない方がよいでしょう。

于 2010-09-23T09:37:27.150 に答える