0

フラッシュ cs5、as3 でゲームをビルドしようとしています。ゲームにはメインボード (mainBoard.swf) があり、そこからプレイしたいものを選択できます (毎回異なる swf ファイルをロードします)。私が抱えている問題は、子 swf をそれ自体から閉じることができないことです。私が書いたコードは次のとおりです。

mainBoard.fla

var gameLoader:Loader = new Loader();
var loadGameRequest:URLRequest; 

function startGame(eventObject:MouseEvent):void{

    loadGameRequest = new URLRequest("puzzle.swf");     
    gameLoader.load(loadGameRequest);
    gameLoader.x = 0;
    gameLoader.y = 0;
    addChild(gameLoader);
    gameLoader.contentLoaderInfo.addEventListener('unloadGame', unloadSWFGame);     

}

function unloadSWFGame(event:Event):void{
    event.target.removeEventListener('unloadGame', unloadSWFGame);
    removeChild(gameLoader);
    gameLoader.unload();
}

puzzle.flaには「終了」ボタンがあり、そのコードは次のとおりです

exit_btn.addEventListener(MouseEvent.CLICK, closeSWF);

function closeSWF(event:MouseEvent):void {
    dispatchEvent(new Event('unloadGame', true)); 
}

私が読んだ限り、これは私が使用しなければならない方法ですが、機能しません。*exit_btn* は何もしません..誰か助けてくれますか? 私は何か間違ったことをしていますか??

4

1 に答える 1

0

交換してください

gameLoader.contentLoaderInfo.addEventListener('unloadGame', unloadSWFGame);     

gameLoader.addEventListener('unloadGame', unloadSWFGame);     

contentLoaderInfoは、イベントをロードするためだけのものです。マウスイベントの場合は、常にディスプレイリスト要素を使用してください。

于 2013-01-23T10:34:14.927 に答える