0

我在视觉上有效时收到 #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 
    }

}
4

3 回答 3

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 类型错误。

于 2012-05-28T20:06:09.177 回答
0

我认为要么你的数组没有包含你认为的对象,要么它们不能转换为 Bel 类型。

于 2012-05-28T19:46:30.013 回答
0

代替:

var bel:Bel = maakBellen();

喜欢:

var bel:Bel = new maakBellen();
于 2012-05-28T19:53:59.007 回答