В Mac OS X ввод Pygame идет в терминал вместо Python - PullRequest
7 голосов
/ 27 апреля 2010

У меня проблемы с запуском приложения на основе Pygame в Mac OS X через терминал. События ввода, такие как нажатия клавиш, отправляются в терминал вместо моего приложения 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"

Ни K_ESCAPE, ни K_SPACE не будут обрабатываться этим сценарием, когда я запускаю его из терминала Mac OS X, но терминал выводит пробелы.

Я использую порт MacPorts pygame (py-game), который зависит от Python 2.4, и я также использовал python_select, чтобы сделать python24 активной версией.

Ответы [ 2 ]

2 голосов
/ 25 апреля 2011

По умолчанию py-игра для Mac Ports имеет проблему, которую вы описываете. Обходной путь - вместо этого установить цель py-game2.6. Это работает для меня с OS X 10.6.7.

1 голос
/ 05 мая 2010

Можете ли вы проверить, соответствуют ли константы pygame.K_ * правильным значениям для вашей клавиатуры? Для справки: я попробовал ваш код в Linux на MacBook Pro, и, похоже, он работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...