我想在两个动作之间制作一个计时器,例如显示一个图像,然后按键盘上的一个键。我试图通过测量按 space 之间的时间来开始这个。例如,按 space 启动计时器并再次按下它会停止计时器。然后打印时间。
我使用pygame作为按键跟踪器。
这是我的代码,为什么它不起作用?
import time
import pygame
pygame.init()
pygame.event.get()
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if key == pygame.K_SPACE:
start = time.time()
if key == pygame.K_SPACE:
end = time.time()
print(end - start)
我认为这可能是我尝试跟踪空格键的方式;并利用了有用的评论,但仍无法使其发挥作用:
import time
import pygame
pygame.init()
key=pygame.key.get_pressed()
start_time = None
if key[pygame.K_SPACE]:
if start_time == None:
start_time = time.time()
else:
print(time.time() - start_time)
start_time = None
答案 0 :(得分:1)
您需要在某处保存第一个事件的状态(或开始时间)。 目前,你的if子句都将评估为True,时间总是为0。
start_time = None
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if key == pygame.K_SPACE:
if start_time == None:
start_time = time.time()
else:
print(time.time() - start_time)
start_time = None
答案 1 :(得分:1)
首先,我很确定你需要一个pygame窗口来生成任何事件。接下来,您需要循环,直到您按下 space 。这是一个例子:
Skip