2014-10-16 60 views
0

我有以下倒計時,如果倒計時等於0,將播放器發送到另一幀。 我需要更新代碼,以減少每次加載幀0.05秒內的倒計時。AS3在幀負載減少倒計時時間

防爆什麼,我想在框架2個操作:

第1次:VAR倒計時:數= 3;

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

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

4th ...

你能幫我嗎?

Tks很多!

代碼:

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"); 
} 
} 
+0

你將有一個很艱難的時間越來越幀事件是一致的。我建議你嘗試設置一個Timer來執行這種事情。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Timer.html#Timer() – 2014-10-29 12:58:30

回答

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)