Actionscript 3 ArgumentError:Error#2025:提供的DisplayObject必须是调用者的子对象

Actionscript 3 ArgumentError:Error#2025:提供的DisplayObject必须是调用者的子对象,actionscript-3,flash,Actionscript 3,Flash,我正在用as3.0创建一个小游戏。我在游戏中创造了很多墙,试图压碎你(玩家) 我正在尝试从阵列和屏幕中删除靠近您的所有墙。当我第一次按下按钮时,它就删除了250像素范围内的所有墙。但第二次按下按钮时,出现以下错误: ArgumentError:Error#2025:提供的DisplayObject必须是调用者的子对象 我认为这是因为该文件试图删除已被删除的孩子。我试着用下面的代码检查孩子是否存在,但它似乎不起作用 if (wallArray[i] != null && conta

我正在用as3.0创建一个小游戏。我在游戏中创造了很多墙,试图压碎你(玩家)

我正在尝试从阵列和屏幕中删除靠近您的所有墙。当我第一次按下按钮时,它就删除了250像素范围内的所有墙。但第二次按下按钮时,出现以下错误:

ArgumentError:Error#2025:提供的DisplayObject必须是调用者的子对象

我认为这是因为该文件试图删除已被删除的孩子。我试着用下面的代码检查孩子是否存在,但它似乎不起作用

if (wallArray[i] != null && contains(wall)) {
    if (wallArray[i].x < 250 + wp_reach){   
        //haalt de muur weg
        //TODO : KIJK OF HET KIND IS

            removeChild(wallArray[i]); 
         }

    }
if(wallArray[i]!=null&&contains(wall)){
如果(wallArray[i].x<250+wp_reach){
//哈特德穆尔韦格酒店
//托多:他那类的基克是
removeChild(wallArray[i]);
}
}
以下是操作按钮的完整代码:

Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

action.addEventListener(TouchEvent.TOUCH_TAP, fl_TapHandler);

function fl_TapHandler(event:TouchEvent):void
{
    for (var i:Number=0;i<wallArray.length;i++){
        if (wallArray[i] != null && contains(wall)) {
            if (wallArray[i].x < 250 + wp_reach){   
                removeChild(wallArray[i]); 
            }

        }
        else{
            trace ("There is no wall in range yet");
        }
    }   
}
multi-TOUCH.inputMode=multi-touchinputmode.TOUCH\u点;
action.addEventListener(TouchEvent.TOUCH\u-TAP,fl\u-TapHandler);
函数fl_TapHandler(事件:TouchEvent):无效
{

对于(var i:Number=0;i始终测试查询中的项是否是要从中删除它的容器的子项,如下所示:

if(wallArray[i] && contains(wallArray[i]))
{
    removeChild(wallArray[i]);
}
致意