Flash 游戏设计笔记:计时器制作
[img][/img]在游戏当中,时间器是伴随游戏一直进行的,有时候我们在制作小游戏的时候希望可以在计算这个游戏所玩的时间,那么时间器的制作是我们要解决的问题;关于时间其实关键一点要知道怎么换算
一,单位换算
如:1小时=60分
1小时=3600秒
1分=60秒
1秒=1/60 分
1秒=1/3600小时
1秒=1000毫秒;
有了这样的换算后,我们就可以制作我们所需要的时间器,首先我们导入i
mport flash.utils.getTimer;
getTimer函数可以计算出运行时候所需要的毫秒数。
private var lasttime:int;//定义个变量用于上一点的时间
public function init():void
{
lasttime=getTimer();//计算出运行程序所需要的时间
}
addEventListener(Event.ENTER_FRAME,Run);
private function Run(e:Event):void
{
SetTime();//时间器
}
private function SetTime():void{var timepast:int=getTimer()-lasttime; //经历了几秒。var hour:Number=Math.floor(timepast/(3600*1000));var fen:Number=Math.floor(timepast/(60*1000));var second:Number=Math.floor(timepast/1000);if(second>=60){second-=60*fen;}if(fen>=60){fen-=60*hour; }showTime.text=String(100+hour).substr(1,2)+":"+String(fen+100).substr(1,2)+":"+String(second+100).substr(1,2);}
package com.game{import flash.utils.*;import flash.events.*;import flash.text.*;import flash.display.MovieClip;public class GameTime extends MovieClip{private var lastTime:Number;private var timepast:Number;private var showTime:TextField;private var hour:Number;//小时private var min:Number;//分private var second:Number;//秒public function GameTime(){lastTime=getTimer();showTime=new TextField ;addChild(showTime);addEventListener(Event.ENTER_FRAME,Run);}public function Run(event:Event):void{Show();}private function Show():void{timepast=getTimer() - lastTime;//毫秒运算hour=Math.floor(timepast / 3600 * 1000);min=Math.floor(timepast / 60 * 1000);second=Math.floor(timepast / 1000);if (hour >= 24){second=0;hour=0;second=0;}if (second >= 60){second-= 60 * min;}if (min >= 60){min-= 60 * hour;}showTime.text=String(100 + hour).substr(1,2) + ":" + String(min + 100).substr(1,2) + ":" + String(second + 100).substr(1,2);}public function getGameTime():String{timepast=getTimer() - lastTime;//毫秒运算hour=Math.floor(timepast / 3600 * 1000);min=Math.floor(timepast / 60 * 1000);second=Math.floor(timepast / 1000);if (hour >= 24){second=0;hour=0;second=0;}if (second >= 60){second-= 60 * min;}if (min >= 60){min-= 60 * hour;}return String(100 + hour).substr(1,2) + ":" + String(min + 100).substr(1,2) + ":" + String(second + 100).substr(1,2);}}}