所以我有'home.swf'和'play.swf' 当我运行应用程序时,我首先打开home.swf。
在home.swf上有按钮播放..
//home.swf
btnPlay.addEventListener(MouseEvent.CLICK, pickPlay);
function pickPlay(event:MouseEvent):void
{
var loader:Loader = new Loader();
var SWFRequest:URLRequest = new URLRequest("play.swf");
loader.load(SWFRequest);
addChild(loader);
}
在play.swf上有一个回到家的按钮
//play.swf
btnHome.addEventListener(MouseEvent.CLICK, clickHome);
function clickHome(event:MouseEvent):void
{
var loader:Loader = new Loader();
var SWFRequest:URLRequest = new URLRequest("home.swf");
loader.load(SWFRequest);
addChild(loader);
}
问题是..当我经常跑这么多次......比如玩和回到家里,再玩一次...... 应用程序将滞后。因为它就像我只是装载回家并一次又一次地玩,但是没有卸载它......
现在我需要卸载它但有人告诉我make main.swf加载和卸载.. 所以第一次运行main.swf时首先调用home.swf ... 当我们点击播放时.. main.swf将卸载home.swf并加载play.swf
任何解决方案? 我希望你能明白我的意思:)。
答案 0 :(得分:0)
您的Loader由函数中的局部变量引用。这使得以后很难引用它。
将您的代码更改为以下内容:
CHECK TABLE table_name;
REPAIR TABLE table_name;
这样做的最简单方法是将"放回家"在家里的按钮。如果可以从视觉效果中进行,请考虑将此按钮放入play.swf
如果你想把按钮放到play.swf中,你最好的选择是在按下按钮时在play.swf中发送一个事件。您在home.swf中侦听事件并在发生时卸载该文件。
无论你触发它,加载器都提供了两种卸载内容的方法:unload()
和unloadAndStop()
你想调用其中一个来摆脱加载的文件。