楼上所说的removeChild()有一点你一定要注意的,从场景里移除并不是完全在内存里清楚掉了,那个swf还是存在的,只不过你看不到,所以如果你被加载的swf里有很多执行代码操作,而又多次重复加载swf确不清理,那么你就会越来越卡,这种现象时绝对不允许的。
所以你最好及时清理掉,比如你声明的loader来加载:
var loader:Loader=new Loader();
loader.load(new URLRequest(url));
先removeChild()你在场景上的swf对象,然后移除loader身上的各种侦听,然后在清理:
loader.unloadAndStop();//卸载子swf 以及内部的事件侦听移除 关闭流
loader.unload();//卸载
loader=null;
但有时候你那被加载的swf文件里有部分复杂的程序还是在内存里运行着,例如声音,这个问题也有很多人问过,把swf清除了但其内的声音却还在播放,那这就需要你那个swf内部另写清理机制了,可以用:this.addEventListener(Event.REMOVED_FROM_STAGE, Close);来手动清理,也就是监听自己脱离场景后执行Close函数里的各种清理。。。
只要涉及到加载有程序的swf,这些是你必须知道的,当然,若你那个被加载的swf文件只是动画文件就可不用了解这么多。
用Loader对象载入外部的swf后,使用addChild()来加载显示,对应的,使用removeChild()来将加载的swf移除显示列表。
用影片剪辑的 用隐藏属性
楼下正解