2012-11-27 4 views
2

내가 AS3.0의 작은 게임을 만드는거야하면 ArgumentError : 오류 # 2025 : 제공된 DisplayObject는 (발신자

내가 당신을 분쇄하려고하는 게임의 벽을 많이 산란의 자식이어야합니다 플레이어)를 아래 코드로 배열과 화면에서 가까이있는 모든 벽을 삭제하려고합니다. 처음 버튼을 누르면 250px 범위의 모든 벽이 삭제됩니다. 두 번째로 단추를 눌렀을 때 다음 오류가 발생합니다.

ArgumentError : 오류 # 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]); 
     } 

    } 

입니다 버튼을 누르는 전체 코드는 다음과 같습니다.

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"); 
    } 

} 
} 

누구나 해결책을 알고 싶습니다.

미리 감사드립니다. 나쁜 영어로 죄송합니다. 난 최선을 다 했어.

답변

1

항상 테스트 쿼리의 항목은 다음과 같이에서 제거 할 컨테이너의 아이 인 경우

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

안부

관련 문제