Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.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
Python 如何让你在pygame中工作?_Python_Pygame - Fatal编程技术网

Python 如何让你在pygame中工作?

Python 如何让你在pygame中工作?,python,pygame,Python,Pygame,尽管四处搜寻,我似乎找不到这个看似简单的问题的答案: 我是pygame的新手(但不是python),我正试图通过连续按下按钮来获得一些代码——但按下按钮似乎对我不起作用。我做这个只是为了确认我没有发疯(我省略了导入,让你们觉得整洁): 据我所知,当你按下空格键时,它应该返回一个“1”,但无论你更改哪个键,它都会返回一个无穷的零字符串 我错过了什么 谢谢没有处理输入以按下所有键的代码。要使其工作,您需要调用event.poll() 因此,您的代码将如下所示 import pygame from p

尽管四处搜寻,我似乎找不到这个看似简单的问题的答案:

我是pygame的新手(但不是python),我正试图通过连续按下按钮来获得一些代码——但按下按钮似乎对我不起作用。我做这个只是为了确认我没有发疯(我省略了导入,让你们觉得整洁):

据我所知,当你按下空格键时,它应该返回一个“1”,但无论你更改哪个键,它都会返回一个无穷的零字符串

我错过了什么


谢谢

没有处理输入以按下所有键的代码。要使其工作,您需要调用event.poll()

因此,您的代码将如下所示

import pygame
from pygame.locals import *
import time

pygame.init()

screen = pygame.display.set_mode((640,380))
def buttonpress():
  while True:
    keys = pygame.key.get_pressed()
    print (keys[K_SPACE])
    time.sleep(0.5)
    pygame.event.poll()
buttonpress()

还有一件事,不要使用时间。sleep()。这会暂停线程,并可能导致操作系统认为您的应用程序没有响应(因为它没有从事件队列中删除事件)。

是吗?现在,您提供的代码没有包含我们确定它是否“正确”所需的所有详细信息。如果你可以创建一个任何人都可以复制并在他们的计算机上运行的脚本来显示问题,这将非常有用。在使用pygame时,你不应该真正使用
time.sleep()
。查看
pygame.time
import pygame
from pygame.locals import *
import time

pygame.init()

screen = pygame.display.set_mode((640,380))
def buttonpress():
  while True:
    keys = pygame.key.get_pressed()
    print (keys[K_SPACE])
    time.sleep(0.5)
    pygame.event.poll()
buttonpress()