pygame-在event.key处理程序导致对event.key块的立即处理之前按下返回键

时间:2019-02-01 05:31:07

标签: python pygame

在我用pygame制作的程序中,我有一个介绍性序列,该序列将总共3个文本框彼此间隔开的时间拖到屏幕上,因此出现一个,然后出现下一个,再出现一个。在此期间,我没有事件轮询,因为我希望整个序列都可以播放,因为整个过程大概需要10秒钟左右。但是,在播放完此序列后,我在右下方显示了一个“继续”文本,以向用户显示按Return键继续下一张幻灯片。然后在这里设置事件处理程序,如下所示:

exited = False
    while not exited:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exited = True
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_RETURN:
                    exited = True

但是,如果用户按此顺序在任何时候单击Return,则一旦控制流单击事件处理程序,它将直接通过pygame.KEYDOWN分支退出。我应该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我实际上通过添加来解决了此问题

for event in pygame.event.get():
    pass

在下一个pygame.event.get()循环之前。第一个循环消耗了序列中发生的其他事件,因此第二个循环将仅处理序列播放后给出的输入。