2017-03-18 66 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){ 

删除=按钮,以便将工作

相关问题