Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu PythonPyGame打印击键垃圾邮件输出_Ubuntu_Pygame_Pycharm_Python 3.8 - Fatal编程技术网

Ubuntu PythonPyGame打印击键垃圾邮件输出

Ubuntu PythonPyGame打印击键垃圾邮件输出,ubuntu,pygame,pycharm,python-3.8,Ubuntu,Pygame,Pycharm,Python 3.8,我一直在关注一个问题 上的Pygame教程于2019年制作,因此可能已经过时。 它应该检测到箭头键并打印它,但它会不断垃圾邮件打印右箭头或左箭头,并在我按下任何箭头键时释放按键。 代码是否过期或我的代码有错误? 在它开始垃圾邮件之前,它在pycharm上说“ALSA lib pcm.c:8526:(snd_pcm_recover)underrun”是一个错误。 它适用于所有其他部件 视频链接,如果您需要() 我在pycharm 3.8.5上使用pygame 2.0.0,如果在pycharm和py

我一直在关注一个问题 上的Pygame教程于2019年制作,因此可能已经过时。 它应该检测到箭头键并打印它,但它会不断垃圾邮件打印右箭头或左箭头,并在我按下任何箭头键时释放按键。 代码是否过期或我的代码有错误? 在它开始垃圾邮件之前,它在pycharm上说“ALSA lib pcm.c:8526:(snd_pcm_recover)underrun”是一个错误。 它适用于所有其他部件

视频链接,如果您需要()

我在pycharm 3.8.5上使用pygame 2.0.0,如果在pycharm和python上相同的话。 Linux ubuntu 20.04.1

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_LEFT:
        print("Left arrow")
    if event.key == pygame.K_RIGHT:
        print("Right arrow")
if event.type == pygame.KEYUP:
    if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
        print("Keystroke released")

谢谢

我真的不明白为什么它不起作用,我试着重写代码,没有错误,试着用我写的东西:

import pygame

pygame.init()
pygame.display.set_mode((700, 700))
running = True

# initializing main loop
while running:
  # initializing event loop
    for event in pygame.event.get():
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                print("Left arrow")
            if event.key == pygame.K_RIGHT:
                print("Right arrow")
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                print("Keystroke released")
        
     # lines in order to close up the window properly
        if event.type == pygame.QUIT: 
            running = False

pygame.quit()

希望它能为您工作,再见。

您是否正在使用
pygame.key.set\u repeat(…)
来启用重复的按键事件?我检查了,但我没有使用pygame.key.set\u repeat(…)。它现在工作得很好。我只需要将“if event.type==pygame.QUIT:running=False”移动到循环的末尾。非常感谢!