2017-03-18 24 views
-1

我有這樣TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。在for循環和數組

var playerArray:Array = new Array(); 

function lockPlayerCards(totalCards){ 

if (totalCards == "all"){ 
    for (var _loc2:int = 1; _loc2 <= playerArray.length; ++_loc2){ 
     MovieClip(getChildByName("card" + playerArray[_loc2])).effects.gotoAndStop("block"); 
     MovieClip(getChildByName("card" + playerArray[_loc2])).btLeft.enabled = false; 
     MovieClip(getChildByName("card" + playerArray[_loc2])).btRight.enabled = false; 
    } 
} 

}

功能,但是當我調用該函數

lockPlayerCards("all") 

我有錯誤: 類型錯誤:錯誤#1009:不能訪問空對象引用的屬性或方法。 在gaple2_fla :: MainTimeline/lockPlayerCards()[gaple2_fla.MainTimeline ::幀1:168] 在gaple2_fla :: MainTimeline/enterFrameControler()[gaple2_fla.MainTimeline ::幀1:533]

+1

陣列AR e從0開始編號,所以當'_loc2'變成等於'playerArray.length'時,你會得到一個空值。此外,不良運動查找名稱的東西,而不是檢查結果爲空。 – Vesper

+1

_「MainTimeline :: frame1:168」_?如果你在代碼中提到哪一行是** 168行**,它會有很大的幫助。 –

+0

他爲什麼得到-1?我見過很多問題... –

回答

0

代替使用此代碼

for (var _loc2:int = 1; _loc2 <= playerArray.length; ++_loc2){ 

使用此代碼

for (var _loc2:int = 1; _loc2 < playerArray.length; ++_loc2){ 

刪除=按鈕,以便將工作

相關問題