错误#1009:无法访问空对象引用的属性或方法

时间:2012-05-28 19:27:06

标签: actionscript-3

我在视觉上有效时会收到#1009错误,有人可以帮帮我吗?提前致谢。 arrBellen是字段级别的数组。

private function bellenSpel(mv:MovieClip,x:Number):void{
    stage.addEventListener(KeyboardEvent.KEY_DOWN,keyHandler);
    if(landschap.x == x){
        mv.visible = true;
        mv.mouseEnabled = true;
    }
    else{
        mv.visible = false;
        mv.mouseEnabled = false;
    }

    landschap.lblScore_onderwater.text.text = "Score: " + vogelTimer.currentCount;

    if(vogelTimer.currentCount % 300 == 0) {
        var bel:Bel = maakBellen();
        arrBellen.push(bel);
    }

    for(var i = 0;arrBellen.length - 1;i++){
        var bl:Bel = arrBellen[i];
        bl.y += 2; // output says error is here 
    }

}

3 个答案:

答案 0 :(得分:0)

我认为您的数组不会被您认为的对象所累积,或者它们无法转换为Bel类型。

答案 1 :(得分:0)

而不是:

var bel:Bel = maakBellen();

喜欢:

var bel:Bel = new maakBellen();

答案 2 :(得分:0)

好的,这是我前面的假设...... mgraph是正确的,或者maakBellen()实际上是一个返回Bel实例的函数

你的循环条件有错误:

for(var i = 0;arrBellen.length - 1;i++){
    var bl:Bel = arrBellen[i];
    bl.y += 2; // output says error is here 
}
你应该

for(var i = 0;i < arrBellen.length;i++){
    var bl:Bel = arrBellen[i];
    bl.y += 2; // output says error is here 
}

我有点困惑为什么这会导致NPE而不是OutOfRange类型错误。