我在我的舞台上加载了一些swf文件。他们是我网站的页面。as3 removeChild问题
要从一个页面更改页面我使用removeChildAt(0),然后addChildAt(“page_title”,0)。
问题是,removeChild不要从第一个swf文件加载(卸载前)删除功能。
那我该怎么办?
我是否必须使用其他方式removeChild?
Thanx!
我在我的舞台上加载了一些swf文件。他们是我网站的页面。as3 removeChild问题
要从一个页面更改页面我使用removeChildAt(0),然后addChildAt(“page_title”,0)。
问题是,removeChild不要从第一个swf文件加载(卸载前)删除功能。
那我该怎么办?
我是否必须使用其他方式removeChild?
Thanx!
这听起来像你对我实际上并没有删除它们。首先,从显示列表中删除某些东西只是一种视觉/交互式变化。它仍然在运行,直到您删除对它的任何引用,作为事件侦听器或w/e,然后您必须将其设置为null,以便垃圾回收将在下一个周期中抓取它。
如果您使用的是Flash Player 10,则spender是正确的,unloadAndStop将为您工作,因为他们刚刚创建它来解决您的问题。
我只是觉得我应该解释一下发生了什么事情,因为人们不仅应该知道修复,而且要知道为什么会发生。
另一个建议是,我不会将这些电影加载到舞台上,我会创建一个容器来容纳它们,这种方式即使稍后添加其他东西,它们也是分离的,整洁的并且易于访问通过他们的父母(例如imageContainer_mc
)。
假设您正在加载Loader,则可以使用unloadAndStop方法。
此处了解详情:
http://www.gskinner.com/blog/archives/2008/07/additional_info.html
或者,您可以将子电影加载到不同的ApplicationDomain中,以将加载的代码与主应用程序隔离。看看flash.system.ApplicationDomain
类(它是Loader.load()
方法的一个参数)。
他还必须为Flash Player 10发布。 – 2009-09-26 15:51:10