Если ваш вопрос касается продвижения точки воспроизведения от кадра 1 к кадру 2 после 60 тактов, я бы посоветовал вам прослушать событие TimerEvent.TIMER_COMPLETE. Например,
var timer:Timer = new Timer(delay, 60); // delay = time between ticks in milliseconds
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer.start();
function onTimerComplete(e:TimerEvent):void
{
// remove listener
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
// advance playhead to frame 2
gotoAndPlay(2);
}
Что касается вашего вопроса об условных выражениях ... вы спрашиваете: «Как бы я поставил условие, чтобы перейти из кадра 1-2?» Ну, что требует условие для продвижения кадра?
Пожалуйста, попробуйте задать четкие и краткие вопросы. Если вы просто пытаетесь обдумать условия, тогда я предлагаю вам поискать в Google и на этом сайте, так как там содержится масса полезной информации. Удачи!
==== Редактировать ====
Код, который вы добавили 2 дня назад (т.е. я пробовал это «ничего» ...), ничего не должен делать :)
В следующей строке кода создается экземпляр объекта Timer, который будет отмечаться каждые 1000 миллисекунд forever :
var timer:Timer = new Timer(1000);
Вот почему ваш обработчик onTimerComplete(e:TimerEvent)
никогда не вызывается. Если вы хотите, чтобы он в конце концов прекратил тикать, скажем, через 5 секунд, вы бы хотели использовать следующий фрагмент вместо вашего:
var timer:Timer = new Timer(1000, 5); // timer will tick every second (1000 milliseconds) for 5 seconds
Вы также никогда не регистрируете обработчик событий TimerEvent.TIMER
. Вот почему ваш обработчик onTimer($evt:TimerEvent)
никогда не вызывается. Если вы хотите захватить это событие, вам нужно зарегистрировать обработчик следующим образом:
timer.addEventListener(TimerEvent.TIMER, onTimer);
Если вы добавите этого слушателя, обязательно удалите его в обработчике onTimerComplete(e:TimerEvent)
таким же образом, как обработчик TimerEvent.TIMER_COMPLETE
.
Надеюсь, это поможет. Удачи!