在电晕中测量游戏中的某些时间

时间:2014-03-01 07:52:07

标签: lua corona

有没有办法衡量游戏中的特定时间?例如,我想测量玩家按下播放按钮后直到他输掉/赢得比赛的时间。我知道我应该使用os.time()但是如何测量游戏中间的时间?所以它会是这样的:

local startTime=os.time()
local gameStart = os.time()-startTime
local gameEnd = os.time()-gameStart

gameStart是玩家按下开始按钮的时间。 游戏结束时玩家正在玩游戏直到他输了或赢了。

1 个答案:

答案 0 :(得分:1)

是的,那是完全正确的。

每当您想要测量时间间隔时,只需从当前时间中减去startTime。但是,请务必使用system.getTimer()函数,因为它具有毫秒精度:

 local startTime = system.getTimer()

-- some time later ...

local interval = system.getTimer() - startTime

在旁注中,根据Lua 5.1 Reference,有一个很好的理由避免减去日期:

  

返回的值是一个数字,其含义取决于您的系统。在POSIX,Windows和其他一些系统中,此数字计算自某个给定开始时间(“epoch”)以来的秒数。 在其他系统中,未指定含义time返回的数字只能用作datedifftime的参数。