flash AS3加载外部SWF,用按钮设置关闭SWF退回到原来页面
4个回答
展开全部
楼上所说的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来加载:
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移除显示列表。
追问
在加载外部SWF时经常出现 Error #2044: 未处理的 ioError:。 text=Error #2035: 找不到 URL。 URL: file:///D|/多媒体/flash实训/大作业/tuo.swf是什么意思呀?
追答
检查一下你的载入路径是否正确。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用影片剪辑的 用隐藏属性
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼下正解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询