Информация

Обсуждало 4 человека

HELP! Проблемы с AS3

Логика и программирование
04 марта 2012 в 10:14:00

import flash.events.Event; stop() ball.x = 229,75 ball.y = 427,7 var accelX:Number; var accelY:Number; var fl_Accelerometer:Accelerometer = new Accelerometer(); fl_Accelerometer.addEventListener(AccelerometerEvent.UPDATE, fl_AccelerometerUpdateHandler); function fl_AccelerometerUpdateHandler(event:AccelerometerEvent):void { accelX = event.accelerationX; accelY = event.accelerationY; } ball.addEventListener(Event.ENTER_FRAME, moveBall); function moveBall(evt:Event){ ball.x -= accelX*30; ball.y += accelY*30; if(ball.x > (480-ball.width/2)){ ball.x = 480-ball.width/2; } if(ball.x < (0+ball.width/2)){ ball.x = 0+ball.width/2; } if(ball.y > (800-ball.width/2)){ ball.y = 800-ball.width/2; } if(ball.y < (0+ball.width/2)){ ball.y = 0+ball.width/2; } if (ball.hitTestObject(lava)) { gotoAndStop("loxti") } }


Ну что здесь неправильно???
Пишет TypeError: Error #1009: Cannot access a property or method of a null object reference.
at Untitled_fla::MainTimeline/moveBall()[Untitled_fla.MainTimeline::frame2:19]

Обсуждение (вниз)

Не хватает только вашего мнения. Зарегистрируйтесь, чтобы написать!

09 марта 2012 в 16:34:00

var accelX:Number = 0;
var accelY:Number = 0;

у тебя событие обновления кадра происходит раньше события акселерометра, в следствии чего ты умножаешь пустую переменную на 30 и поулчаешь null или nan или undefined и присваиваешь ее ball.x, из-за чего он выдает ошибку "Невозможно получить доступ к свойству или методу с пустым значением". Тоесть ball.x может быть раверное только числам, а не пустым значения или каким либо другим. Всегда задавай переменным начальное значение.

09 марта 2012 в 16:05:32

Так сказать нельзя, нужен исходник.

09 марта 2012 в 16:05:20

Че то с ball.

09 марта 2012 в 12:17:04

ball = мувик, я его обозвал

09 марта 2012 в 11:56:33

...а ты переменную ball объявил?.. у неё класс есть?

09 марта 2012 в 10:04:45

шарик назван ball

04 марта 2012 в 11:34:07

да, по исхам(примерам) адоба

04 марта 2012 в 11:23:57

19 строчка - это вроде эта:
ball.x -= accelX*30;

Ну так у тебя ball никак не определён.
Ты прямо в кадре пишешь код, чтоли?

04 марта 2012 в 10:35:56

Ах да, сотая заметка! Трололо

04 марта 2012 в 10:35:34

Ау! хД
Fundux.ru v.3.0 © 2006-2021 AleXNoD
Портал русских флеш игр и flash мультов