Tạo đồng hồ đếm xuôi (count up) trong AS3

Đồng hồ đếm xuôi và đồng hồ đếm ngược luôn là những công cụ rất quan trọng trong việc phát triển game. Trong bài này tôi giới thiệu phương pháp sử dụng Timer để tạo 1 đồng hồ đếm xuôi (count up). Trước hết bạn click vào hình dưới đây để xem kết quả cuối cùng của bài này.



Để làm được đồng hồ đếm xuôi như bên trên, chúng ta cần trước hết 1 Dynamic Text tên là “time_txt” và 4 buttons “start_btn“, “stop_btn“, “continue_btn” và “reset_btn“.

ActionScript:

stop_btn.visible = false;
reset_btn.visible = false;
continue_btn.visible = false;

var t_hrs:int = 0;
var t_mins:int = 0;
var t_secs:int = 0;

updateTime();

function updateTime():void
{
   time_txt.text = "";
   time_txt.appendText((t_hrs>9)?(t_hrs.toString()):("0"+t_hrs.toString()));
   time_txt.appendText(":");
   time_txt.appendText((t_mins>9)?(t_mins.toString()):("0"+t_mins.toString()));
   time_txt.appendText(":");
   time_txt.appendText((t_secs>9)?(t_secs.toString()):("0"+t_secs.toString()));
}

var mainTimer:Timer = new Timer(1000);
mainTimer.addEventListener(TimerEvent.TIMER, timerUpdate);
function timerUpdate(TimerEvent):void
{
   t_secs++;
   if (t_secs == 60)
   {
      t_secs = 0;
      t_mins++;
   }
   if (t_mins == 60)
   {
      t_mins = 0;
      t_hrs++;
   }
   updateTime();
}

start_btn.addEventListener(MouseEvent.CLICK, startWatch);
function startWatch(MouseEvent):void
{
   mainTimer.start();
   start_btn.visible = false;
   stop_btn.visible = true;
}

stop_btn.addEventListener(MouseEvent.CLICK, stopWatch);
function stopWatch(MouseEvent):void
{
   mainTimer.stop();
   stop_btn.visible = false;
   reset_btn.visible = true;
   continue_btn.visible = true;
   trace(t_hrs + ":" + t_mins + ":" + t_secs)
}

reset_btn.addEventListener(MouseEvent.CLICK, resetWatch);
function resetWatch(MouseEvent):void
{
   t_hrs = 0;
   t_mins = 0;
   t_secs = 0;

   start_btn.visible = true;
   stop_btn.visible = false;
   reset_btn.visible = false;
   continue_btn.visible = false;
   updateTime();
}

continue_btn.addEventListener(MouseEvent.CLICK, continueWatch);
function continueWatch(MouseEvent):void
{
   mainTimer.start();
   start_btn.visible = false;
   stop_btn.visible = true;
   reset_btn.visible = false;
   continue_btn.visible = false;
}

Như vậy là chúng ta đã tạo xong 1 đồng hồ đếm xuôi. Bài sau tôi sẽ giới thiệu cách tạo đồng hồ đếm ngược. Hy vọng sẽ giúp ích cho các bạn.