Событие Adobe Flex Timer - PullRequest
       18

Событие Adobe Flex Timer

1 голос
/ 28 июня 2010

У меня только один быстрый вопрос по Timer и TimerEvent (flash.events.TimerEvent & flash.utils.Timer) Adobe Flex.

В настоящее время я работаю над проектом, в котором мне нужно время от времени изменять скорость, останавливать и воспроизводить SWF-анимацию (загружается в загрузчик и создается как ByteArray).

Например, у меня есть движущаяся машина (анимация SWF), работающая на скорости 40 км / ч. Тогда у меня есть кнопка, которая будет изменять скорость с шагом 40 км / ч. Так что, в принципе, всякий раз, когда я нажимаю на кнопку, играющий автомобиль должен постепенно менять скорость. Сложность в том, что я уже работал в Adobe Flex, но это еще не меняет скорость. Я имею в виду, что он перемещается только на интервал ключевого кадра, который я установил при создании SWF-файла на флэш-памяти (т. Е. Интервал 30 кадров на ключевой кадр).

Короче говоря, мне просто нужно изменить скорость в зависимости от того, сколько приращений я попросил изменить. Коллега сказал мне использовать Timer и TimeEvent из Flex, но я не могу понять, как это сделать, так как я все еще новичок в мире ActionScript.

Я надеюсь, что кто-то может мне помочь. Спасибо:)

1 Ответ

0 голосов
/ 28 июня 2010

Вам нужно оживить машину из кода.Следующий код ускоряет колеса до 120 км / ч:

private var car:MovieClip;
private var speed:Number; // from 0 to 120

private function enterFrameHandler(event:Event):void
{
    if (speed < 120)
        speed++;

    car.wheel1.rotation += speed;
    car.wheel2.rotation += speed;
}

Идея состоит в том, чтобы рассчитывать параметры анимации для каждого нового кадра «на лету».

...