2009-09-21 124 views
1

我在我的舞台上加载了一些swf文件。他们是我网站的页面。as3 removeChild问题

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

问题是,removeChild不要从第一个swf文件加载(卸载前)删除功能。

那我该怎么办?

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

Thanx!

回答

1

这听起来像你对我实际上并没有删除它们。首先,从显示列表中删除某些东西只是一种视觉/交互式变化。它仍然在运行,直到您删除对它的任何引用,作为事件侦听器或w/e,然后您必须将其设置为null,以便垃圾回收将在下一个周期中抓取它。

如果您使用的是Flash Player 10,则spender是正确的,unloadAndStop将为您工作,因为他们刚刚创建它来解决您的问题。

我只是觉得我应该解释一下发生了什么事情,因为人们不仅应该知道修复,而且要知道为什么会发生。

另一个建议是,我不会将这些电影加载到舞台上,我会创建一个容器来容纳它们,这种方式即使稍后添加其他东西,它们也是分离的,整洁的并且易于访问通过他们的父母(例如imageContainer_mc)。

0

或者,您可以将子电影加载到不同的ApplicationDomain中,以将加载的代码与主应用程序隔离。看看flash.system.ApplicationDomain类(它是Loader.load()方法的一个参数)。