安装 Steam
登录
|
语言
繁體中文(繁体中文)
日本語(日语)
한국어(韩语)
ไทย(泰语)
български(保加利亚语)
Čeština(捷克语)
Dansk(丹麦语)
Deutsch(德语)
English(英语)
Español-España(西班牙语 - 西班牙)
Español - Latinoamérica(西班牙语 - 拉丁美洲)
Ελληνικά(希腊语)
Français(法语)
Italiano(意大利语)
Bahasa Indonesia(印度尼西亚语)
Magyar(匈牙利语)
Nederlands(荷兰语)
Norsk(挪威语)
Polski(波兰语)
Português(葡萄牙语 - 葡萄牙)
Português-Brasil(葡萄牙语 - 巴西)
Română(罗马尼亚语)
Русский(俄语)
Suomi(芬兰语)
Svenska(瑞典语)
Türkçe(土耳其语)
Tiếng Việt(越南语)
Українська(乌克兰语)
报告翻译问题










But I want to report the delay of this timer object.
Your script is,
local timeDelta = os.time() - startTime
countdownRemaining = countdownRemaining - timeDelta
updateDisplayButtons()
startTime = os.time()
And I see that there is a gap between os.time() for timeDelta and os.time() for startTime.
So, the later "startTime" is very slightly delayed compared to the time for getting timeDelta.
This causes some inaccuracy in the measurement.
As the result, this timer becomes a little slower compared to the real time.
If the PC's performance is low, the problem becomes more severe.
So, I propose this,
local nowTime = os.time()
local timeDelta = nowTime - startTime
countdownRemaining = countdownRemaining - timeDelta
updateDisplayButtons()
startTime = nowTime
I think it could be the solution.
Thank you.
But there is one issue you might want to consider adding to yours. The way you add delta times together adds a fair bit of error in how long the timer runs (in my limited testing about 10%).
The solution is to keep the start time constant (only updated during pausing), and calculate time left based on current time and the timer length.