haXe里关于时间和日期有不少类和方法,这里整理小结如下:
* haxe.Timer.stamp() : Float
这个静态方法返回一个当前时间戳,单位是秒,但因为是浮点数(haXe中的浮点数是双精度的也就是double),所以可以精确到毫秒级。可用于在游戏中测量时间差。
但是一定注意,它返回的并非其它语言中的标准时间戳概念(比如java/C/perl等,即1970年1月1日0点开始的秒或毫秒数),而是依赖于平台的一个数字,因此只有用它来计算时间差才是有意义的。
* Lib.getTimer() : Int
此静态方法返回当前时间,单位是毫秒。
在NME中,这个函数仅仅是haxe.Timer.stamp()的值乘以1000而已,因此除单位变为毫秒外,用法和注意事项同上。
* Date
这个类用于日期计算,可以用Date.now().getTime()来获取1970年1月1日0时到现在的毫秒数,然而具体精度依赖于平台的实现,可能只能精确到秒一级。
* haxe.Timer
定时器类,可设定时间间隔执行给定的回调函数。
* Actuate.timer()
Actuate补间动画库提供的定时器函数,个人感觉更灵活。
* Event.ENTER_FRAME
响应此事件就可以每帧进行一些处理,结合上面的时间戳方法就可以实现计时操作了,其实Actuate也是采用此方法的。