0

我正在尝试在 flash cs5、as3 中构建游戏。游戏将有一个主板(mainBoard.swf),从那里我可以选择我想玩的东西(每次加载不同的 swf 文件)。我遇到的问题是我无法从自身关闭子 swf。我写的代码是:

主板.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 回答