ex5_stop_watch.swf |
各ムービークリップのインスタンス名
分 | 10の位 | numMcMinutae0 |
1の位 | numMcMinutae1 | |
秒 | 10の位 | numMcSwSec0 |
1の位 | numMcSwSec1 | |
ミリ秒 | 10の位 | numMcSwMiliSec0 |
1の位 | numMcSwMiliSec1 |
ActionScript2.0
startFlag = false; firstFlag = false; nowTime = 0; startTime = 0; dispBaseTime = 0; // _root.onEnterFrame = function() { _root.numDisp(0, 0); _root.numDisp(0, 1); _root.numDisp(0, 2); }; // startButton.onRelease = function() { if (startFlag == false) { if (firstFlag == false) { _root.startTime = getTimer() - _root.dispBaseTime; firstFlag = true; } _root.onEnterFrame = displayUpdate; startFlag = true; } else { _root.onEnterFrame = null; startFlag = false; } }; // resetButton.onRelease = function() { _root.nowTime = 0; _root.startTime = 0; _root.dispBaseTime = 0; _root.startFlag = false; _root.firstFlag = false; _root.onEnterFrame = null; _root.numDisp(0, 0); _root.numDisp(0, 1); _root.numDisp(0, 2); }; // function displayUpdate() { _root.nowTime = getTimer(); _root.dispBaseTime = _root.nowTime - _root.startTime; milliSecond = Math.floor(dispBaseTime / 10); milliSecond = ("00" + milliSecond).substr(-2, 2); swSecond = Math.floor(dispBaseTime / 1000 % 60); if (swSecond < 10) { swSecond = "0" + swSecond; } minutae = Math.floor(dispBaseTime / 1000 / 60); if (minutae < 10) { minutae = "0" + minutae; } _root.numDisp(minutae, 0); _root.numDisp(swSecond, 1); _root.numDisp(milliSecond, 2); } // var keta:Number = 2; function numDisp(getNum:Number, output:Number):Void { var i:Number = 0; var maxNum:Number = Math.pow(10, keta) - 1; var num:Number = Math.max(Math.min(getNum, maxNum), 0); var strNum:String = "0000" + String(num); strNum = strNum.substr(strNum.length - keta, keta); for (i = 0; i < keta; i++) { switch (output) { case 0 : _root["numMcMinutae" + i].gotoAndStop(Number(strNum.charAt(i)) + 1); break; case 1 : _root["numMcSwSec" + i].gotoAndStop(Number(strNum.charAt(i)) + 1); break; case 2 : _root["numMcSwMiliSec" + i].gotoAndStop(Number(strNum.charAt(i)) + 1); break; } } }ダウンロード
0 件のコメント:
コメントを投稿