我如何让你在pygame工作?

2024-03-29 05:04:36 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

def buttonpress():
  while True:
    keys = pygame.key.get_pressed()
    print keys[K_SPACE]
    time.sleep(0.5)
buttonpress()

据我所知,当你按下空格键时,它应该会返回一个“1”,但是不管你把它改成什么键,它只会返回一个无穷无尽的零串。你知道吗

我错过了什么?你知道吗

谢谢


Tags: key答案代码truegetdefkeys按钮
1条回答
网友
1楼 · 发布于 2024-03-29 05:04:36

没有处理输入以按下所有键的代码。为了让这个工作,你需要打电话事件.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()

还有一件事,不要用时间。睡眠(). 这会暂停线程,并可能导致操作系统认为应用程序没有响应(因为它没有从事件队列中删除事件)。你知道吗

相关问题 更多 >