在Pygame中收到字母输入的问题

时间:2016-05-27 23:11:15

标签: python pygame keydown

对于我正在编码的游戏,在主菜单中有一部分需要按“P”进行播放。我开始使用这段代码:

import pygame, sys, time
DISPLAY = pygame.display.set_mode((1023, 647))
WHITE = (255, 255, 255)
mainscreendisplayimg = pygame.image.load('mainScreen.png')
def mainscreen(x, y):
     DISPLAY.blit(mainscreendisplayimg, (x, y))
mainscreen(1, 1)
pressed = pygame.key.get_pressed()
while active:
     ...
     if pressed[pygame.K_p]:
          print 'Done'
     pygame.display.update()
     clock.tick(15)

我认为会发生的是它会显示主图像,它会给你指示按p,然后它会打印'完成'(这将在以后用更多代码替换)。但是,每当我执行程序时,图像都会加载,但按p时不会发生任何事情。

我也尝试过使用keydown方法,但没有变化。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,所以我自己想出来了,谢谢你的帮助! 事实证明,我错误地使用了keydown,并且意外地出现了一些语法错误,导致它出现故障。

供参考和帮助他人,请参阅更新后的代码:

active = true
while active:
     for event in pygame.event.get():
          if event.type == pygame.KEYDOWN:
               if event.key == pygame.K_p:
                    print 'Done'

感谢那些试图帮助的人,抱歉,我浪费了你的时间