Я делаю небольшое приложение для школы, где вы можете управлять мячом с помощью Acceleropmeter (для смартфонов), и я хочу, чтобы, если мяч достиг определенной координаты Y, вы теряете и идете на другой кадр (где говорится, что вы проиграли игру). «Ве сделал мяч и код до сих пор это:AS3 - мяч ударяется по координате Y
var fl_Accelerometer:Accelerometer = new Accelerometer();
fl_Accelerometer.addEventListener(AccelerometerEvent.UPDATE, fl_AccelerometerUpdateHandler);
function fl_AccelerometerUpdateHandler(event:AccelerometerEvent):void
{
cBall.x -= event.accelerationX * 40;
cBall.y += event.accelerationY * 40;
}
cBall.addEventListener(Event.ENTER_FRAME, moveBall);
function moveBall(evt:Event){
// this is to stop the ball when it tries to exit the sreen
if(cBall.x > (480-cBall.width/2)){
cBall.x = 480-cBall.width/2;
}
// except for this, that stops the ball not if it touches the end of the screen, but if it reaches a certain Y coordinate
if(cBall.y > (780-cBall.width/2)){
gotoAndStop(3);
}
if(cBall.x < (0+cBall.width/2)){
cBall.x = 0+cBall.width/2;
}
if(cBall.y < (0+cBall.width/2)){
cBall.y = 0+cBall.width/2;
}
}
Всякий раз, когда я пытаюсь приложение, он говорит, что есть ошибка в 32-й строке (TypeError: Error # 1009: Не удается получить доступ к свойству или методу ссылка на нулевой объект. at ballApp_Scene1_fla :: MainTimeline/moveBall() [ballApp_Scene1_fla.MainTimeline :: frame1: 32) Почему? Как я могу это исправить?
является cBall нуль? Я не вижу, где вы объявляете или иналиализуете его где угодно ... –