【发布时间】:2016-10-07 09:08:42
【问题描述】:
我正在尝试为单词记忆游戏实现游戏计时器。游戏有一个开始屏幕,所以时间应该从用户按下“播放”时开始计算,当用户在游戏中按下“暂停”时暂停,当用户在暂停屏幕上按下“继续”时继续。 我知道正确的实现应该与滴答声无关(ish),因为我正在使用它来控制 fps。还建议使用 pygame.time.set_times(),在大多数示例中将 (USEREVENT+1, 1000) 作为参数。什么是用户事件?我无法掌握此功能的文档。
以下是我的实现。它在 pygame.init() 开始测量时间,而不是当我调用我的游戏循环时,尽管 timer() 的函数调用在游戏循环中,并且不能暂停。我如何重写它以便能够控制计时器的启动/停止状态?
谢谢!
def timer():
#isOn =True
#while isOn:
second=round((pygame.time.get_ticks())/1000)
minute=0
hour=0
minute, second=divmod(second, 60)
hour, minute=divmod(minute, 60)
#text=smallfont.render("Elapsed time: "+str(getSeconds), True, WHITE)
text=smallfont.render("Elapsed time: "+str("%d" %hour + " : "+"%d" %minute + " : "+"%d" %second), True, WHITE)
gameDisplay.blit(text, [0+MARGIN,350])
return time
【问题讨论】: