2012-04-29 180 views
0

我使用此代码卸载swf文件并返回到主菜单。加载外部SWF文件

主菜单加载外部swf文件没有麻烦,但由于某种原因卸载不起作用。

var BaseMovie:MovieClip = parent.parent as MovieClip; 

FinishButton.addEventListener(MouseEvent.MOUSE_UP, RemoveGame); 

function RemoveGame(i:MouseEvent):void 
{ 
    BaseMovie.loader.unload(); //Loads previous movie and unloads current movie. 
} 

回答

0

如果您使用BaseMovie别的地方(和你,因为你已经把它添加到显示列表以使其可见),它不会被销毁调用Loader.unload()的结果。

要从显示列表中删除BaseMovie,这样做如下:

BaseMovie.parent.removeChild(BaseMovie); 

注意,按照惯例,变量名称以小写。因此,而不是BaseMovie,请使用baseMovie

希望这会有所帮助,祝你好运。

+0

对不起,由于一些奇怪的原因,我遗漏了BaseMovie.loader.unload();在一个函数里面。该功能在游戏结束时触发。我需要删除该功能中的BaseMovie吗?我编辑了我的问题以显示代码。 – Ant 2012-04-29 13:40:13

+0

是的,'BaseMovie.parent.removeChild(BaseMovie);'应该在'RemoveGame'中。 – Torious 2012-04-29 16:32:04

+0

试过了,它似乎没有做任何事情。一切正常,但测试时,但在线时,这是问题发生的时间。当按下删除游戏按钮时,它什么也不做。 – Ant 2012-04-29 17:07:06