Flash 计时器

发布时间:2025-12-09 21:58:57 浏览次数:4

//类导入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;}

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477