python - pygame - 在 event.key 处理程序导致立即处理 event.key 块之前返回键按下
问题描述
在我用 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 分支退出。我应该如何解决这个问题?
解决方案
我实际上只是通过添加解决了这个问题
for event in pygame.event.get():
pass
在我的下一个 pygame.event.get() 循环之前。第一个循环消耗序列中发生的其他事件,因此第二个循环将只处理序列播放后给出的输入。
推荐阅读
- r - 在 purrr 和 makeDataReport() 中使用 map() 重命名多个 R Markdowns
- javascript - JavaScript:滚动时放大和缩小图像
- javascript - 如何使用按钮更改div的背景
- java - 我想在 java 程序中运行另一个 .jar 文件
- javascript - 删除画布的函数
- excel - VBA with Selenium - 想要通过 VBA Selenium 在特定站点上上传图像
- azure - 是否需要 Windows 10 Pro 才能将 ASP.NET Core Web 应用程序发布到 Azure?
- javascript - 获取请求未加载 PHP 脚本
- javascript - 完成录制按钮将旧屏幕录制再次保存到本地文件夹
- javascript - 尝试使用 JavaScript 减少 HTML 代码的重复