Python 忽略PyGame中的多个按键
我有一个程序,在这个程序中,用户会看到一个单词,并且必须根据这个单词做出两个关键的决定 每次出现这个词时,我都会在下面的代码中监视他们的按键。如果他们给出了可接受的响应1或0,它将返回该响应,但也会在执行此操作之前将程序延迟1000毫秒,此时将显示下一个单词:Python 忽略PyGame中的多个按键,python,pygame,Python,Pygame,我有一个程序,在这个程序中,用户会看到一个单词,并且必须根据这个单词做出两个关键的决定 每次出现这个词时,我都会在下面的代码中监视他们的按键。如果他们给出了可接受的响应1或0,它将返回该响应,但也会在执行此操作之前将程序延迟1000毫秒,此时将显示下一个单词: pygame.event.clear() while True: for event in pygame.event.get(): #check for keypresses if event.key == p
pygame.event.clear()
while True:
for event in pygame.event.get(): #check for keypresses
if event.key == pygame.K_1:
wait(1000) #wait 1000 ms if they make a response before the next word is presented
return 1
elif event.key == pygame.K_0:
wait(1000)
return 0
我遇到的问题是,如果在给定的试验中,用户变得不耐烦,并在wait1000调用期间开始按下按钮,那么当调用上述代码时,这些按钮最终会注册为下两个显示的单词
开始时的pygame.event.clear应该清除事件队列,这样,如果用户已经按下一些键,它就会清除队列并只检查新的响应。我做错什么了?不要睡觉。而是存储上一次按键事件的时间和按键 如果当前事件是同一个键,并且自第一次按此键起的时间小于1秒,则闪烁或嘟嘟声表示程序未挂起,但不接受此特定键 如果密钥与上次注册的密钥不同,请存储时间和密钥,然后按正常方式处理 始终为用户的行为提供即时反馈,即使反馈是不受欢迎的