Mac OS X pygame输入转到终端而不是Python

时间:2010-04-27 05:20:21

标签: python macos terminal pygame

我无法通过终端在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成为活动版本。

2 个答案:

答案 0 :(得分:2)

Mac Ports上的默认py游戏有你描述的问题。解决方法是安装py-game2.6目标。这适用于OS X 10.6.7。

答案 1 :(得分:1)

您可以检查pygame.K_ *常量是否实际对应于键盘的正确值?为了记录,我在MacBook Pro上尝试使用Linux中的代码,它似乎工作正常。