Показать сообщение отдельно
Старый 16.02.2013, 23:28
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 2  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Проблема в следующих строчках
Код AS3:
var a:Number = getTimer();
if (balls.length < 20 && (getTimer()-a)>=3000)
и
Код AS3:
ball = new Ball();
ball.move();
у вас каждый раз при вызове функции переменной а присваивается значение прошедшего с момента запуска времени, поэтому, скорее всего, шарики не будут добавляться вообще, это раз
во-вторых, переменная
Код AS3:
ball:Ball;
у вас на всю программу одна и даже если каким-то образом срабатывает условие
Код AS3:
if (balls.length < 20 && (getTimer()-a)>=3000)
			{
новый добавленный шарик перезаписывает старый.
я бы посоветовал вместо getTimer использовать TimerEvent, который бы срабатывал каждые 3000 мс
Код AS3:
gameTimer = new Timer(3000);
gameTimer.addEventListener(TimerEvent.TIMER, onTimerListener);
				gameTimer.start();
и в теле функции обработчика создавать новый шарик и вталкивать его в массив с вашими шариками
при этом, функцию
Код AS3:
ball.move();
перетащить в класс с шариком под свой обработчик события EnterFrame.
То есть у каждого шарика свой обработчик EnterFrame
Если делать без переделки функции move, то придется в вашей
Код AS3:
private function onLoop(evt:Event):void
в цикле перебирать все шарики массива balls и вручную вызывать у каждого функцию move