/ Published in: ActionScript 3
This script expects there to be two movieclips on the stage, one with an instance name of 'startTimer' and the other with an instance name of 'stopTimer'. The duration is then traced to the output window.
Expand |
Embed | Plain Text
import flash.utils.getTimer; startTimer.addEventListener(MouseEvent.CLICK, onStartTimer_CLICK); stopTimer.addEventListener(MouseEvent.CLICK, onStopTimer_CLICK); var startTime:int; var stopTime:int; function onStartTimer_CLICK(event:MouseEvent):void { startTime = getTimer(); trace("startTime: "+startTime); } function onStopTimer_CLICK(event:MouseEvent):void { stopTime = getTimer(); trace("stopTime: "+stopTime); var timeDiff:int = stopTime - startTime; trace("timeDiff: "+timeDiff); trace(formatTime(timeDiff)); } function formatTime($time:uint):String { var formattedTime:String; var hrs:uint; var mins:uint; var secs:uint; var ms:uint; var msAfterHrs:uint = $time % ((1000 * 60) * 60); hrs = ($time - msAfterHrs) / ((1000 * 60) * 60); var msAfterMins:uint = msAfterHrs % (1000 * 60); mins = (msAfterHrs - msAfterMins) / (1000 * 60); var msAfterSecs:uint = msAfterMins % 1000; secs = (msAfterMins - msAfterSecs) / 1000; ms = msAfterSecs; if (ms == 100) { ms = 0; } //formattedTime = formatNumber(hrs, 2)+":"+formatNumber(mins, 2)+":"+formatNumber(secs, 2)+"."+formatNumber(ms, 3); formattedTime = formatNumber(hrs, 2)+"h "+formatNumber(mins, 2)+"m "+formatNumber(secs, 2)+"s"; return formattedTime; } function formatNumber($num:uint, $digits:uint):String { var formattedNum:String; if ($digits == 2) { if ($num < 10) { formattedNum = "0"+$num; } else { formattedNum = String($num); } } else if ($digits == 3) { if ($num < 10) { formattedNum = "00"+$num; } else if ($num < 100) { formattedNum = "0"+$num; } else { formattedNum = String($num); } } return formattedNum; }
You need to login to post a comment.
