我无法通过终端在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 Terminal运行该脚本时,K_ESCAPE和K_SPACE都不会处理,但是Terminal将回显空格。
我正在运行pygame(py-game)的MacPorts端口,该端口依赖于Python 2.4,并且我还使用了python_select使python24成为活动版本。
Mac Ports上的默认py游戏具有您描述的问题。一种解决方法是改为安装py-game2.6目标。这适用于OS X 10.6.7。