我试图在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 *什么都不做..有人可以帮忙吗?我做错了吗?
答案 0 :(得分:0)
替换
gameLoader.contentLoaderInfo.addEventListener('unloadGame', unloadSWFGame);
与
gameLoader.addEventListener('unloadGame', unloadSWFGame);
contentLoaderInfo仅适用于loading个事件。对于鼠标事件,请始终使用显示列表元素。