2014-03-01 37 views
0

有沒有辦法測量遊戲中的某個時間?例如,我想測量玩家按下播放按鈕之後的時間,直到他輸掉/贏得遊戲。我知道我應該使用os.time(),但如何衡量在比賽中間的時間因此,這將是這樣的:?在電暈中測量遊戲中的特定時間

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

的gameStart是當玩家按下開始按鈕的時間。遊戲結束時玩家正在玩遊戲直到他輸了或贏。

回答

1

是的,這是完全正確的。

無論何時您想測量時間間隔,只需從當前時間中減去startTime即可。但是,一定要使用system.getTimer()功能,因爲它有精確到毫秒:

local startTime = system.getTimer() 

-- some time later ... 

local interval = system.getTimer() - startTime 

在一個側面說明,根據Lua 5.1 Reference有一個很好的理由,以避免減去日期:

返回值是一個數字,其含義取決於您的系統。在POSIX,Windows和其他一些系統中,這個數字計算自某些給定開始時間(「時代」)以來的秒數。 在其他系統中,含義未指定爲,並且time返回的數字僅可用作datedifftime的參數。

+0

謝謝,它運作良好! – user3305142