as3 removeChild问题

时间:2009-09-21 01:55:19

标签: actionscript-3 movieclip removechild

我正在我的舞台上加载一些0的swf文件。它们是我网站的页面。

要从一个页面更改为另一个页面,我使用removeChildAt(0)然后添加addChildAt(“page_title”,0)。

问题是removeChild不会从加载的第一个swf文件中删除这些函数(在卸载之前)。

我怎么能阻止呢?

我是否必须使用其他方式removeChild?

感谢名单!

3 个答案:

答案 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()方法的参数)。