2012-11-27 72 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]); 
} 

問候

相關問題