【问题标题】:Issue with Type Error 1009 Null object reference gameLoop()类型错误 1009 空对象引用 gameLoop() 的问题
【发布时间】:2012-02-16 22:04:59
【问题描述】:

我的 Flash 代码有问题。我正在制作一个简单的落球游戏,但我不断收到此错误

TypeError:错误 #1009:无法访问空对象引用的属性或方法。 在 balldrop_fla::MainTimeline/gameLoop()[balldrop_fla.MainTimeline::frame1:46]

似乎在谈论第 46 行,即“ball.y += 5;”

这是我的代码:

 import flash.display.DisplayObject;
 import flash.geom.Rectangle;
 import flash.events.Event;
 import flash.display.MovieClip;


var points:Array = new Array(10,20,30,40,-50)
var ball:DisplayObject;
var randBall:Number;
var score:Number=0;
var rect:Rectangle=new Rectangle(0+(basket_mc.width/2), basket_mc.y,stage.stageWidth-  basket_mc.width, 0);
basket_mc.startDrag(true, rect);

basket_mc.addEventListener(Event.ENTER_FRAME, gameLoop);

function makeBall():void
{
randBall=Math.floor(Math.random()*5);

switch(randBall)
{
    case 0:
        ball=addChild(new ball0_mc());
    break;
    case 1:
        ball=addChild(new ball1_mc());
    break;
    case 2:
        ball=addChild(new ball2_mc());
    break;
    case 3:
        ball=addChild(new ball3_mc());
    break;
    case 4:
        ball=addChild(new ball4_mc());
    break;
}
ball.x=Math.floor(Math.random()*stage.stageWidth-ball.width);
ball.y=-60;
}

function gameLoop(evt:Event):void
 {
score_txt.text=score.toString();
ball.y += 5;

if(ball.y>stage.stageHeight + ball.height)
{
    removeChild(ball);
    makeBall();
}
if(ball.hitTestObject(basket_mc))
{
    score += points[randBall];
    removeChild(ball);
    makeBall();
}
 }

makeBall();

【问题讨论】:

    标签: flash object null adobe


    【解决方案1】:

    嗯,我看到的第一件事是,在您使用 makeBall() 将球实例化之前,可能会调用 ENTER_FRAME 的侦听器。我会在 makeBall 之后添加 ENTER_FRAME 的监听器。

    【讨论】:

      【解决方案2】:

      你必须尝试添加

      stop();
      

      在脚本的末尾。然后时间线结束并从头开始播放,flash 重新创建场景中的所有对象,您的球变为空。

      你确定之后

      randBall=Math.floor(Math.random()*5);

      randBall 会,例如,0 而不是 0.000000001?这里更好的方法是让 randBall 的类型为 int 而不是 Number。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-29
        相关资源
        最近更新 更多