0

我已经使用ENTER_FRAME淡出动画。我希望淡出在2-3秒后开始。我如何创建这个延迟?AS3:延迟输入帧动画

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库,但Greensock的TweenMax(http://www.greensock.com/tweenmax/)是一个非常知名的用于脚本动画的库,非常稳定和灵活。 – epologee 2011-02-07 20:35:55