我正在执行一个程序,通过数组创建实例,但我不确定以后如何删除它们。。为了更清楚地解释,这里是我的代码:
(我很快举了一个例子……这就是为什么代码中只有一个变量的原因)
for (var q:int = 0; q < caw1.length; q++)
{
addChild(caw1[q]);
caw1[q].x = 9;
caw1[q].y = 833;
}
half2.addEventListener(MouseEvent.CLICK, nxt2);
function nxt2(e:MouseEvent)
{
removeChild(half2);
removeChild(caw1[1]);
half2.removeEventListener(MouseEvent.CLICK, nxt2);
}
再次循环它们有什么问题?
function nxt2(e:MouseEvent)
{
removeChild(half2);
for (var i:int = 0; i < caw1.length; i++) {
removeChild(caw[i]);
}
half2.removeEventListener(MouseEvent.CLICK, nxt2);
}
FP 11之后,添加了一个新方法。即CCD_ 1。使用CCD_ 2而不是使用具有CCD_。更合理。
从的子列表中删除所有子DisplayObject实例DisplayObjectContainer实例。已删除的的父属性children设置为null,如果没有,则对对象进行垃圾收集还有其他提到孩子的地方。
垃圾收集器重新分配未使用的内存空间。当变量或对象不再被主动引用或存储在某个地方垃圾收集器扫描并清除它的内存空间用于在不存在其他引用的情况下占用。
试试这个:
function nxt2(e:MouseEvent)
{
removeChild(half2);
removeChildren(0,caw1.length-1);
half2.removeEventListener(MouseEvent.CLICK, nxt2);
}