·您当前的位置:首页 > 技术教程 >

[AS3]as3时钟类(秒表、计时器)

时间:2013-06-18 21:40CuPlayer.com
[AS3]as3时钟类(秒表、计时器)不是的类别的类,是as3的类文件。游戏比如象棋、扫雷等,有计时的需要。因此我写了这个时钟类。它能计时,包括倒计时。可暂停、继续。时间轴上的调用示例

时钟类

这个类,不是的类别的类,是as3的类文件。游戏比如象棋、扫雷等,有计时的需要。因此我写了这个时钟类。它能计时,包括倒计时。可暂停、继续。时间轴上的调用示例:

  1. import Lir.LirClock;//导入时钟类 
  2.  
  3. var yn=false;//暂停否 
  4.  
  5. var clock:Lir.LirClock=new LirClock(timeTxt,true,20);//倒计时20秒 
  6. clock.play();//开始计时 
  7.  
  8.  
  9. var clock1:Lir.LirClock=new LirClock(timeTxt1);//正计时 
  10. clock1.play(); 
  11.  
  12.  
  13. stage.addEventListener(MouseEvent.CLICK,run );//单击以暂停或继续 
  14. function run(e) { 
  15.         yn=! yn; 
  16.  if (yn) { 
  17.       clock1.play(true); 
  18.        clock.stop(); 
  19.  } else { 
  20.      clock.play(true); 
  21.        clock1.stop(); 
  22.  
  23.  } 
  24.  
  25.   
  26.  
  27. 说明: 
  28.  
  29.       构造函数:用构造函数 new  出来时钟实例(参数:接口对象、是否是倒计时、倒计时时间(秒)) 
  30.  
  31.       方法:play 开始,stop 暂停。 
  32.  
  33.       接口:用舞台上的文本框,作为钟面(显示器)。 
  34.  
  35.   
  36.  
  37. //类的内容: 
  38.  
  39. package Lir{ 
  40.  import flash.text.TextField; 
  41.  import flash.utils.Timer; 
  42.  import flash.utils.getTimer; 
  43.  
  44.  public class LirClock { 
  45.   public var tm:Timer; 
  46.   var startTime:uint;//时间计时器 
  47.   var _backTime:uint; 
  48.   var _back:Boolean; 
  49.   var outTime:uint=0
  50.   var _outTime:uint=0
  51.   var _obj:TextField; 
  52.   var str:String; 
  53.  
  54.   public function LirClock(obj:TextField,back:Boolean =false,backTime:uint=100) { 
  55.    _obj=obj; 
  56.    _obj.text="00:00";//显示牌清零 
  57.    if (back) { 
  58.     _obj.text=backTime.toString(); 
  59.    } 
  60.    tm=new Timer(1000);//cuplayer.com提示一秒一显示 
  61.    tm.addEventListener("timer", showTime);//事件与侦听 
  62.    tm.stop(); 
  63.    _backTime=backTime; 
  64.    _back=back; 
  65.  
  66.   } 
  67.   public function stop() { 
  68.    outTime=_outTime
  69.    trace(outTime); 
  70.    tm.stop(); 
  71.   } 
  72.  
  73.   public function play(goon:Boolean=false) { 
  74.     if (! goon) { 
  75.       outTime=0
  76.     } 
  77.     startTime=getTimer(); 
  78.     tm.start(); 
  79.   } 
  80.   function showTime(e) { 
  81.    var pastTime:int=getTimer()-startTime; 
  82.    var seconds:int=Math.floor(pastTime/1000); 
  83.    trace(outTime); 
  84.    secondsseconds=seconds+outTime; 
  85.    _outTime=seconds
  86.    if (_back) { 
  87.      seconds=_backTime-seconds; 
  88.       if (seconds<=0) { 
  89.         seconds=0
  90.         stop(); 
  91.       } 
  92.      str=String(seconds); 
  93.    } else { 
  94.      var minutes:int=Math.floor(seconds/60); 
  95.      seconds-=minutes*60; 
  96.      str=minutes+":"+String(seconds+100).substr(1,2); 
  97.    } 
  98.     _obj.text=str
  99.   } 
  100.  
  101.  
  102.  }//End Classcuplayer.com提示 
  103. }//End package 
  104.  
  105. //cuplayer.com提示注:不包括时钟部分 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器