【发布时间】:2013-08-23 17:37:19
【问题描述】:
有一个对象数组。我正在尝试removeChild 来自该数组的对象,如下所示。 removeChild 工作正常,但在删除最上层的对象后数组不会自行刷新。正如您在下面看到的,我尝试将 trace 排列出来。
首先,数组包含三个元素,显然myArray.length 必须是 3。
删除一个孩子后,myArray.length 必须为 2,但它得到 3(错误)。
removeChild(myArray[currShape]);
trace(myArray);
请告诉我这里缺少什么。
【问题讨论】:
-
这是高级的东西,但我还是要说。即使您使用
splice从数组中删除元素,对象仍然是“活动的”。这是因为实际上 AS3 中的所有对象都只是指向存储在内存中的真实对象的指针。 AS3 中的变量只是对您从未实际交互过的真实对象的引用。这就是为什么即使你从数组中移除对象,它仍然会在显示列表中呈现。
标签: arrays actionscript-3