无法让pygame键盘输入工作

时间:2015-03-16 00:51:23

标签: python pygame

我刚刚开始学习一个需要键盘输入的项目的python。根据我的阅读,pygame是最好的方法。很遗憾,我无法让KEYDOWN工作。 {1}}返回的唯一事件是pygame.event.get()。 我需要的代码会是这样的:

MOUSEMOTION

我不确定我做错了什么。我已经阅读了一些关于键盘输入的其他问题,并且所有这些都建议使用代码,据我所知,这些代码完全相同。例如,此问题的第一个答案的第一个代码块:How to get keyboard input in pygame? import pygame def main(): pygame.init() while True: for event in pygame.event.get() if(event.type == pygame.KEYDOWN) if(event.key==pygame.K_LEFT) cry_because_it_worked() 返回pygame.init(),我相信这意味着所有模块都已正确初始化。我正在使用python 3.4.3和pygame 1.9.2。任何帮助将不胜感激。

编辑:这是我代码中的实际循环:

(6,0)

1 个答案:

答案 0 :(得分:0)

使用pygame.event.get的正确代码如下所示:

import pygame
from pygame.locals import *

for event in pygame.event.get():
    if event.type == QUIT: # if closing application
        pygame.quit()
        sys.exit()
    elif event.type == KEYDOWN:
        if event.key == K_LEFT:
            cry_because_it_worked()

Pygame事件不仅仅是按键。它们也可以是鼠标移动和其他东西。首先检查事件类型非常重要。这就是我们提出以下内容的原因:

if event.type == KEYDOWN:

您需要做的下一件事是检查正在按下的键。您可以通过阅读key对象的event属性来执行此操作:

if event.key == K_LEFT:

因此,在您的计划中,您检查event.type以确保该活动是按键操作,然后检查event.key以查看按下了哪个键。