PDA

Просмотр полной версии : getTimer


Tina
14.03.2013, 00:21
Помогите пожалуйста. Пишу программку. Задумка такая: каждые 3 секунды добавляется 1 шарик, и каждые 2 секунды шарик увеличивается в размере на 1. Проблема с увеличением. Шарик каждые 2 секунды не на единицу увеличивается, getTimer вызывается слишком часто в одном тике энтерфрейфма. Как это можно исправить? Использовать нужно именно getTimer().
public function Main()
{
balls = new Array();
addBall();
addEventListener(Event.ENTER_FRAME, onLoop);
}
private function onLoop(evt:Event):void
{
if ( getTimer() - passedTime >= 3000)
{
addBall();
}
for (var i:int = 0; i < balls.length; i++)
{
if ( getTimer() - passedTime >= 2000)
{
balls[i].increaseBall();
}
balls[i].move();
}

i.o.
14.03.2013, 01:08
public function Main()
{
_lastTime_addBall = getTimer();
_lastTime_increaseBalls = getTimer();

balls = new Array();
addBall();
addEventListener(Event.ENTER_FRAME, onLoop);
}

private var _lastTime_addBall : int;
private var _lastTime_increaseBalls : int;

private function onLoop(evt:Event):void
{
var curTime:int = getTimer();
if (curTime - _lastTime_addBall >= 3000)
{
_lastTime_addBall = curTime;
addBall();
}

if (curTime - _lastTime_increaseBalls >= 3000)
{
_lastTime_increaseBalls = curTime;
for (var i:int = 0; i < balls.length; i++)
{
balls[i].increaseBall();
}
}

for (i = 0; i < balls.length; i++)
{
balls[i].move();
}
}