阳光VIP

少壮不努力,老大徒伤悲。平日弗用功,自到临期悔。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Flash 游戏设计笔记:计时器制作

Posted on 2012-02-17 20:15  阳光VIP  阅读(188)  评论(0编辑  收藏  举报

在游戏当中,时间器是伴随游戏一直进行的,有时候我们在制作小游戏的时候希望可以在计算这个游戏所玩的时间,那么时间器的制作是我们要解决的问题;关于时间其实关键一点要知道怎么换算。

一,单位换算

   如: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();//时间器
  }

简单的效果这样就出来了。

要进行一些判断,当second 大于60的时候,由于second是一直递增的,时间秒的区间是【0,60】所以当60来的时候

我们就改将它减去 分 *60 这样时间又再次显示回原来的状态了

二 00-00-00格式的处理

showTime.text=String(100+hour).substr(1,2)+":"+String(fen+100).substr(1,2)+":"+String(second+100).substr(1,2);

我们使用了String类一个方法substr来截取我们所需要的信息:从1开始索引开始截取后面的两位,这样就可以变成了这种格式了 。

substr(startIndex:Number = 0, len:Number = 0x7fffffff):String
返回一个子字符串,该子字符串中的字符是通过从指定的 startIndex 开始,按照 len 指定的长度截取所得的

看看下面时间器,还是觉得可以吧

时间器 

0

源代码:可以进行修改一下

这里有两个方法,在创建实例化后,可以自动生成上面的格式,当一个mc来使用,只要实例化就可以。

var time:GameTime=new GameTime()

addChild(time);

或者进行监听就可以