2012-06-02 4 views
2

Приветствую всех, я разрабатываю игру с скворцом, и я хочу установить таймер, например, каждые 2 секунды, я хочу, чтобы что-то произошло. я использовал жонглер истекшее подпорку, но я задаюсь вопросом, есть более эффективный способ сделать этоTimer in Starling Framework

спасибо,

Халед

+0

спасибо для маркировки отрицательна и не понимая, что мой вопрос пса: я не хочу использовать таймер, потому что у меня уже есть ENTER_FRAME событие, и это слишком много для устройства для обработки –

ответ

2

Если это не относится к анимации, рекомендуется использовать таймер для неанимированного контента.

Реализация таймера будет более высокой, чем дополнительные расчеты времени для ввода обработчика кадров.

Если вы продвигаетесь в Starling Jugglers, вы можете установить частоту кадров жонглера на каждые 2 секунды.

жонглеров также delayCall, в котором вы могли бы бесконечно цикл каждую 2-секунду, если ваш функтор избыточности называется delayCall:

juggler.delayCall(functor, 2.0); 

Чтобы связать с Скворцы кадром/рендерингом жизненного цикла, вы можете проверить время с момента последнего вызова ,

private var lastCallTime:int 

protected function frameHandler():void 
{ 
    var now:int = getTimer(); 
    var ellapsed:int = now - lastCallTime; 
    if(ellapsed >= 2000) 
    { 
     /* execute implementation */ 
     lastCallTime = now; 
    } 
} 
+0

спасибо большого для вашего объяснения –

+0

Я добавил расширение, которое реализует функции Timer, используя Starling.juggler для совместимости: http://wiki.starling-framework.org/extensions/starling_timer –

13

В качестве альтернативы вы можете использовать класс «DelayedCall». Легко пропустить! ;-)

var delayedCall:DelayedCall = new DelayedCall(method, 2.0); 
delayedCall.repeatCount = int.MAX_VALUE; 
Starling.juggler.add(delayedCall); 

function method():void 
{ 
    trace("ping"); 
} 
+0

приятно одно спасибо! –

+1

Так же, как и после этого, это тоже помогло мне. Но вместо выполнения int.MAX_VALUE API теперь поддерживает установку repeatCount на 0, чтобы сделать повтор неопределенным. –

+1

Я добавил расширение, которое реализует функции Timer, используя Starling.juggler для совместимости: http://wiki.starling-framework.org/extensions/starling_timer –