从自己身上卸下孩子瑞士法郎

时间:2013-01-23 10:00:30

标签: actionscript-3 flash

我试图在flash 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 *什么都不做..有人可以帮忙吗?我做错了吗?

1 个答案:

答案 0 :(得分:0)

替换

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

gameLoader.addEventListener('unloadGame', unloadSWFGame);     

contentLoaderInfo仅适用于loading个事件。对于鼠标事件,请始终使用显示列表元素。