python - pygame事件KEYDOWN导致一次性激活循环
问题描述
我遇到了 KEYDOWN 事件的问题。由于某种原因,当我按住按钮时,它会导致重复输入。这是我的代码:
import pygame
def main():
pygame.init()
pygame.display.set_caption("minimal program")
screen = pygame.display.set_mode((240,180))
running = True
pygame.key.set_repeat()
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
running = False
if event.type == pygame.KEYDOWN:
print("pressed")
if __name__=="__main__":
main()
我尝试使用 pygame.key.set_repeat() 并没有用。我还打开了一个新文件来检查我当前的文件是否有问题并且没有任何改变。如果有人知道原因,请帮忙。
编辑:经过大量检查并重新启动后,我注意到如果我重新启动 jupyter(这是我编写代码的地方),第一次运行不会有这个问题,但之后的所有问题都会出现,直到我再次重新启动。我意识到由于某种原因 pygame.quit() 函数破坏了 KEYDOWN 并产生了我上面描述的错误(我删除了这一行并且一切正常)。
如果有人知道为什么会发生这种情况,请向我解释
解决方案
推荐阅读
- postgresql - 大型数据集上的 Postgres 计算运行总和
- sql - 如何根据条件删除某些组中的某些观察值
- javascript - Intersection Observer 调用函数 1 次
- c++ - Visual Studio 命令提示符中缺少用于编译 Sqlite3.c 的 C 头文件
- python - Python 调用 PHP - 来自脚本的错误标头错误标头:数组
- python - IMAP login() 返回命令错误:BAD [b' 命令参数错误。12']
- javascript - js删除二维(2D)数组中的特定元素
- swift - 离线保存数据,然后在连接时自动将其上传到 Firestore - Swift Xcode
- python - 如何压缩两列,爆炸它们并最终旋转?
- html - WhatsApp/Facebook 链接预览不起作用(但似乎正确抓取)