我无法在as3中删除孩子

时间:2019-07-14 19:16:50

标签: actionscript-3 flash movieclip removechild addchild

我以前不需要搬走一个孩子,但现在我已经搬走了。 我一直在每帧向舞台添加MovieClips,但是在50个MovieClips之后,我想删除最后一个,以避免几分钟后出现滞后和内存占用。 所以我用谷歌搜索,这就是我想出的:

if (id > 50) {
    var toDelete: DisplayObject = this.getChildByName("track" + String (id - 50));
    removeChild(toDelete);
    toDelete = null;
}

每个对象的名称均为“ trackX”,并且X不断上升。 问题是,id达到50后,我得到了:

TypeError:错误#1009:无法访问空对象引用的属性或方法。

所以我之后尝试的是将removeChild替换为

toDelete.alpha = 0;

我没有收到任何错误,程序执行了我想要的操作。除了所有对象实际上都保留在内存中,并且在很短的时间后就会出现延迟。

已经半个小时了,我不知道该怎么办。我认为我使用了removeChild错误,因为我以前从未使用过。

0 个答案:

没有答案