我遇到了问题,每当我尝试从数组中删除一个元素时,都会出现此错误#2025。当我点击它时,该对象在舞台上不可见,但它总是会出现此错误。
//remove items inventory
public function RemoveObject(mc:MovieClip)
{
var checkRemove:Number = curSlot - 1;
trace("current slot " + (curSlot-1));
trace("current pos array" + myIndex);
for(var i:int = 0; i < itemS.length;i++) {
this.removeChild(itemS[checkRemove]);
}
}
答案 0 :(得分:0)
不要只使用for
:
this.removeChild(itemS[checkRemove]);
答案 1 :(得分:0)
如果要删除多个项目,请使用每个循环,因为除非删除子容器,否则会重新索引它包含的其他子项。
for each (var child:DisplayObject in this.getChildren()) {
this.removeChild(child);
}
如果您只想删除一个项目,那么可以将其作为
完成this.removeChild(this.getChildAt(childIndex));
Container的以下方法也有助于获得欲望的孩子
getChildByName(name:String):DisplayObject
getChildIndex(child:DisplayObject):int
最好先检查一下你要移除的孩子是否在容器中
var child:DispalyObject = this.getChildAt(childIndex);
if(this.contains(child))
{
this.removeChild(child);
}
希望有所帮助