我正在我的舞台上加载一些0的swf文件。它们是我网站的页面。
要从一个页面更改为另一个页面,我使用removeChildAt(0)然后添加addChildAt(“page_title”,0)。
问题是removeChild不会从加载的第一个swf文件中删除这些函数(在卸载之前)。
我怎么能阻止呢?
我是否必须使用其他方式removeChild?
感谢名单!
答案 0 :(得分:1)
假设您使用Loader加载,可以使用unloadAndStop方法。
更多信息:
http://www.gskinner.com/blog/archives/2008/07/additional_info.html
答案 1 :(得分:1)
听起来我并没有真正删除它们。首先,从显示列表中删除内容只是视觉/交互式更改。它一直在运行,直到你删除对它的任何引用,是事件监听器或w / e,然后你必须将它设置为null,以便垃圾收集将在下一个周期抓住它。
如果你使用的是Flash Player 10,那么spender是正确的,unloadAndStop会为你工作,因为他们刚刚创建它来解决你的问题。
我只是想我应该解释发生了什么,因为人们不仅应该知道修复,还要知道事情发生的原因。
另外一个建议,我不会将这些电影加载到舞台上,我会创建一个容器Sprite
/ MovieClip
来保存它们,这样即使你以后添加其他内容,它们也是分开的,干净,并且易于通过其父级访问(例如imageContainer_mc
)。
答案 2 :(得分:0)
或者,您可以将子电影加载到不同的ApplicationDomain中,以便将加载的代码与主应用程序隔离。看一下flash.system.ApplicationDomain
类(它是Loader.load()
方法的参数)。