我想启动我的程序,测量程序启动的时间,然后等待几秒钟,按一下按钮(K_RIGHT),然后按一下该按钮的时间。我正在使用Pygame来注册Keydown。但是在下面的代码中,它无法注册我的Keydown。我在这里做错了什么?
start = time.time()
for e in pygame.event.get():
if e.type == pygame.KEYDOWN:
if e.key == pygame.K_RIGHT:
end= time.time()
diff = end-start
答案 0 :(得分:2)
这是一个最小的完整示例,可打印正确的时差。经过的时间只是time.time()
(现在)与开始时间之间的差。
您也可以使用pygame.time.get_ticks
代替time.time
(它返回的时间以毫秒为单位,而不是秒)。
import time
import pygame as pg
pg.init()
screen = pg.display.set_mode((640, 480))
clock = pg.time.Clock()
BG_COLOR = pg.Color('gray12')
start = time.time()
done = False
while not done:
for event in pg.event.get():
if event.type == pg.QUIT:
done = True
elif event.type == pg.KEYDOWN:
if event.key == pg.K_RIGHT:
diff = time.time() - start
print(diff)
screen.fill(BG_COLOR)
pg.display.flip()
clock.tick(60)
pg.quit()