2009年12月24日 星期四

[AS2] 碼表

[AS2] 碼表
◎ 主場景上怖署三個動態文字欄位 , mm、ss、hs , 用以分別顯示分、秒、百分之1秒
◎ 另有ps_mc,裡面有start_btn和stop_btn, start_btn壓在stop_btn之上, 作為開始計時和暫停之用.
◎ 及reset_btn , 作為重置碼表之用.

SWF預覽......



◎ 第一影格AS2
//
var millisecond:Number = 10; // 單位:(毫秒),(1秒=1000毫秒),(千分之10秒=百分之1秒)
var num:Number=0; // 百分之一秒(總數)
var recPauseNum:Number=0;
var minute:Number=0; //分
var second:Number=0; //秒
var hundredSec:Number=0; //百分之1秒
var intervalID:Number; //intervalID:從對setInterval()的呼叫所傳回的一個數值 (整數) 識別名稱
var startTime:Number;
var flag:Number=0;
//
mm.text = "0"+minute;
ss.text = "0"+second;
hs.text = "0"+hundredSec;
//
function timekeeper() {
 var my_date:Date = new Date();
 num=Math.floor((my_date.getTime()-startTime)/10)+recPauseNum;
 //
 hundredSec =num%100;
 second =Math.floor(num/100)%60;
 minute = Math.floor(num/100/60);
 //
 if(minute<10){
  mm.text = "0"+minute;
 }else{
  mm.text = minute;
 }
 if(second<10){
  ss.text = "0"+second;
 }else{
  ss.text = second;
 }
 if(hundredSec<10){
  hs.text = "0"+hundredSec;
 }else{
  hs.text = hundredSec;
 }
}
//
ps_mc.start_btn.onRelease=function(){
 var my_date:Date = new Date();
 startTime=my_date.getTime();
 intervalID = setInterval(timekeeper, millisecond);
 this.swapDepths(ps_mc.stop_btn);
 flag=1;
}
ps_mc.stop_btn.onRelease=function(){
 clearInterval(intervalID);
 //
 recPauseNum=num;
 this.swapDepths(ps_mc.start_btn);
 flag=0;
}
reset_btn.onRelease=function(){
 mm.text="00";
 ss.text="00";
 hs.text="00";
 num=0;
 recPauseNum=0;
 clearInterval(intervalID);
 if(flag==1){
  ps_mc.stop_btn.swapDepths(ps_mc.start_btn);
  flag=0;

 }
}


FLA下載

沒有留言: