0

我对使用 Python 还很陌生,我正在尝试设置一个命中计时器,以便在我的游戏中,当我的玩家被击中时,需要等待几秒钟才能再次被击中。

我以为我可以做类似的事情:

while hitTimer > 0:
    hitTimer -= 1

并且被击中会将计数器重置为10,并要求计数器> 0能够再次被击中,但它的速度很快。

我尝试使用非常小的数字,-= .00005但这只会让我的程序滞后。

我怎样才能使它每秒带走 1 或类似的东西?

谢谢你的帮助。

4

3 回答 3

4

为了准确检查 10 秒,请执行以下操作:

import time
# record when person was first hit.
previousHit = time.time()

if time.time() - previousHit > 10:
    # The rest of your logic for getting hit.
    previousHit = time.time() # Reset the timer to get the hit again.
于 2012-08-16T01:17:18.700 回答
2

用于time.clock()检查时间和time.sleep()等待。

永远不要依赖 CPU 速度来计时代码。

于 2012-08-16T01:13:20.803 回答
1

您只需记录某人被击中的时间,使用time.time()

import time

lastHit = time.time()

然后将当前时间与lastHit

if time.time() - lastHit > NUMBER_OF_SECONDS:
  # ... do seomthing about getting hit ...
  lastHit = time.time()
于 2012-08-16T01:13:37.737 回答