Flash 计时器
//類導入 import mx.controls.Button; import mx.controls.TextArea; //變量定義 var list_TextArea:TextArea; var btn_playandpause:Button; var btn_stop:Button; var timer_is_start:Boolean = false; //記錄計時器是否在工作 var txt_time; var intervalID:Number; var timeID:Number = 0; var play_time:Number = 0; //計時器運行過程中不斷增加的總運行時間 var timer_run_time:Number = 0; //計時器運行的總時間 var timer_start_pos:Number = 0; //計時器觸發時SWF文件播放總時間 var timer_pause_pos:Number = 0; //計時器暫停時SWF文件播放總時間 //變量賦值 list_TextArea.text = "計時器運行時點擊計時框可將當前的時間顯示在本框中,其意義不言自明。"; txt_time.text = "00:00:00.000"; btn_playandpause.icon = "play_ico"; //把該按紐的ICON先設成播放 btn_stop.icon = "stop_ico"; //把停止按紐的ICON初使化成STOP //顯示控制 fscommand("showmenu", "false"); //不顯示菜單 fscommand("allowscale", "false"); //不改變比例 //文本框觸發事件 txt_time.onPress = function(){ //如果正在計時,則向文本框輸入當前時間 if (timer_is_start){ timeID++; get_result(); } } function get_result(){ //將取得的時間txt_time.text按排輸出 list_TextArea.text = timeID + ". " + txt_time.text + "" + list_TextArea.text; } //按紐btn_playandpause點擊時觸發的動作,根據其ICON判斷計時器是否在工作并更改ICON及觸發和暫停計時器 btn_playandpause.onPress = function(){ if (this.icon == "play_ico"){ this.icon = "pause_ico"; timer_is_start = true; timer_start(); }else{ this.icon = "play_ico"; timer_is_start = false; timer_pause(); } //trace(timer_is_start); } btn_stop.onPress = function(){ //停止按紐被按下時對信息進行復位 timer_stop(); timer_is_start = false; btn_playandpause.icon = "play_ico"; } //三個狀態觸發函數 function timer_start(){ //當計時器被啟動時記下點擊瞬間SWF文件播放的總時間 timer_start_pos = getTimer(); //啟動定時器 intervalID = setInterval(updateTimer, 50); } function timer_pause(){//暫停時記下點擊瞬間SWF文件播放的總時間 timer_pause_pos = getTimer(); //取得計時器總運行時間,因為可能出現多次暫停,這是一個累計值 //“timer_pause_pos - timer_start_pos”是計時器單次運行時間,與前次運行時間相加就是總運行時間 timer_run_time = timer_run_time + timer_pause_pos - timer_start_pos; clearInterval( intervalID ); } function timer_stop(){clearInterval( intervalID ); txt_time.text = "00:00:00.000"; list_TextArea.text = ""; timeID = 0; timer_run_time = timer_pause_pos = timer_start_pos = 0; } //結果輸出函數,這個函數通過定時器不斷調用,用于即時更新計時器的時間顯示 function updateTimer():Void{ //總的運行時間加上當前SWF文件運行時間與啟動計時器時的SWF文件運行時間之差就是不斷增加的總運行時間 play_time = timer_run_time + getTimer() - timer_start_pos; //將計時器不斷增加的總運行時間格式化后輸出 txt_time.text = format_timer(play_time); } //數據格式化函數 function format_timer(num:Number){ var H:String; var M:String; var S:String; var mS:String; var T:String; H = M = S = "00"; mS = "000"; //格式化時,因為一般用不到小時,所以沒寫代碼,做個樣子,呵呵,有興趣的朋友請自己加上 //格式化分 var tmpM1 = Math.floor(num/60000); var tmpM2 = tmpM1-60*Math.floor(tmpM1/60);//使tmpM2在0-59之間 if (tmpM1%60==0) M = "00"; if (tmpM2<10){ M = "0" + String(tmpM2); }else{ M = String(tmpM2); } //格式化秒 var tmpS1 = Math.floor(num/1000); var tmpS2 = tmpS1-60*Math.floor(tmpS1/60); if (tmpS1%60==0) S = "00"; if (tmpS2<10){S = "0" + String(tmpS2); }else{ S = String(tmpS2); } //格式化毫秒 var tmpmS = Math.floor(num%1000); if (tmpmS<10) mS = "00" + String(tmpmS); if (tmpmS<100 && tmpmS>=10) mS = "0" + String(tmpmS); if (tmpmS<1000 && tmpmS>=100) mS = String(tmpmS); //字串連接 T = H +":"+M +":"+ S +"."+ mS; return T; }
總結
- 上一篇: ios 高德地图加载瓦片地图_iOS高德
- 下一篇: php获取prepay_id时报错,微信