while gamerunning:
timerstart = time.time()
posy2 += 3
if posy2 >= window_height:
posy2 = -50
randomx = random.randrange(0, window_width - 50)
if health == 0:
gameover = True
while gameover:
timerend = time.time()
timer = timerend - timerstart
print timer
screentext("Game over, press esc to quit or press R to retry", black)
pygame.display.update()
我正在试图弄清楚如何在python中正确实现一个计时器但是当我打印出来时我得到的值低于0秒所以我假设timer变量只打印出python所需的时间解释器在我的gameover循环中运行代码。我的问题是如何解决这个问题并制作一个适当的计时器,在游戏运行循环结束时运行并在游戏结束后结束。我对Python很陌生,所以我不确定除了时间之外我还能用什么其他模块来实现这个目标。
答案 0 :(得分:1)
尝试在运行游戏的循环之外移动timerstart = timer.time()
。在您while gamerunning:
之前的示例中。问题是在每个循环中变量都被重置,从而得到了结果。
我们无法在该图片中看到您的其余代码,但在这种情况下,为了更新游戏之间的开始时间,您必须在/之后更新timerstart
如果玩家选择“R”重试游戏。否则你的游戏就会结束。