我无法通过终端在Mac OS X上运行基于pygame的应用程序。输入事件(如击键)将转到终端而不是我的Python应用程序,并由pygame检测到。
例如,我有以下测试脚本:
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
done = False
while not done:
pygame.event.pump()
keys = pygame.key.get_pressed()
if keys[pygame.K_ESCAPE]:
done = True
if keys[pygame.K_SPACE]:
print "got here"
当我从Mac OS X终端运行时,此脚本不会处理K_ESCAPE和K_SPACE,但终端会回显这些空格。
我正在运行pygame(py-game)的MacPorts端口,这取决于Python 2.4,我还使用python_select使python24成为活动版本。
答案 0 :(得分:2)
Mac Ports上的默认py游戏有你描述的问题。解决方法是安装py-game2.6目标。这适用于OS X 10.6.7。
答案 1 :(得分:1)
您可以检查pygame.K_ *常量是否实际对应于键盘的正确值?为了记录,我在MacBook Pro上尝试使用Linux中的代码,它似乎工作正常。