帧负载上的AS3减少倒计时时间

时间:2014-10-16 10:11:08

标签: actionscript-3 frame onload countdown reduce

我有以下倒计时,如果倒计时等于0,将播放器发送到另一帧。 我需要更新代码,以便在每次加载帧时在0,05秒内减少此倒计时。

我想要的第2帧动作:

第一次:var CountDown:Number = 3;

第二次:var CountDown:Number = 2,95;

第3次:var CountDown:Number = 2,90;

第4 ......

你可以帮帮我吗?

很多!!

代码:

import flash.events.MouseEvent;
stop();

var fl_SecondsToCountDown_2:Number = 3;
var fl_CountDownTimerInstance_2:Timer = new Timer(1000, fl_SecondsToCountDown_2);


fl_CountDownTimerInstance_2.addEventListener(TimerEvent.TIMER, fl_CountDownTimerHandler_2);
fl_CountDownTimerInstance_2.start();

function fl_CountDownTimerHandler_2(event:TimerEvent):void
{
//trace(SecondsToCountDown_2 + " seconds");
fl_SecondsToCountDown_2--;
if(fl_SecondsToCountDown_2 == 0){
gotoAndStop ("lost");
}
}

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解你想要的东西,但你可以试试这个:

第1帧:

我创建了一个按钮,只是为了进入第二帧(我不知道你如何进入第二帧):

import flash.events.MouseEvent

btn.addEventListener(MouseEvent.CLICK, btn_on_Press)
function btn_on_Press(e:MouseEvent){
    gotoAndPlay(2)
}

stop()

第2帧:

// if count_down didnt exist, we create it
if(!count_down) var count_down:Number = 3   
else count_down -= 0.05                         

// sometimes the operation give us result like this : 2.9000000000000004 so we should fixe decimals
trace(count_down.toFixed(2))        

// go tp your "lost" frame
if(count_down <= 0) gotoAndStop('lost')
// return to 1st frame
else gotoAndStop(1)