내 플래시 코드에 문제가 있습니다. 간단한 공 드롭 게임을 만들고 있는데이 오류가 계속 발생합니다.유형 오류 1009의 문제 Null 객체 참조 gameLoop()
TypeError : 오류 # 1009 : null 개체 참조의 속성이나 메서드에 액세스 할 수 없습니다. at balldrop_fla :: MainTimeline/gameLoop() [balldrop_fla.MainTimeline :: frame1 : 46]
"ball.y + = 5;"행 46에 대해 이야기하는 것 같습니다.
여기 내 코드입니다 :
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();