0

У меня есть анимация с постепенным исчезновением, используя ENTER_FRAME. Я хочу, чтобы исчезновение началось через 2-3 секунды. Как я могу создать эту задержку?AS3: Delay Enter Frame Animation

txtAlert.addEventListener(Event.ENTER_FRAME,animAlert); 

function animAlert(e:Event) { 
    if(e.target.alpha>0) { 
     e.target.alpha-=0.01; 
    } else { 
     e.target.parent.removeChild(e.target); 
     e.target.removeEventListener(Event.ENTER_FRAME,animAlert); 
    } 
} 

ответ

4

Вы должны использовать таймер:

var timer:Timer = new Timer(3000, 1); 
    timer.addEventListener(TimerEvent.TIMER, action); 
    timer.start(); 

function action(evt:TimerEvent):void{ 
    txtAlert.addEventListener(Event.ENTER_FRAME,animAlert); 

    trace("Times Fired: " + evt.currentTarget.currentCount); 
    trace("Time Delayed: " + evt.currentTarget.delay); 
} 

BTW вы должны смотреть на анимации библиотек, как вьющееся растение, которые сделают вашу жизнь намного проще.

+1

Я не знаю библиотеку Twiner, но TweenMax Greensock (http://www.greensock.com/tweenmax/) - очень хорошо известная библиотека для сценарированной анимации, очень стабильная и гибкая. – epologee

Смежные вопросы