2010-04-27 22 views
7

yerine Terminal'e gider. Mac OS X'te bir pygame tabanlı uygulamayı Terminal aracılığıyla çalıştırarak sorun yaşıyorum. Tuş vuruşları gibi giriş olayları Python uygulamasının yerine Terminal'e gider ve pygame tarafından algılanır.Mac OS X pygame girişi, Python

Örneğin, ben şu testi senaryosu var:

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 ne de K_SPACE Ne ben bir Mac OS X Terminali'nden çalıştırmak bu komut dosyası tarafından ele alınacaktır, ancak Terminal boşluk geri yankılanacak.

Python 2.4'e bağlı olan pygame (py-game) oyununun MacPorts bağlantı noktasını çalıştırıyorum ve ayrıca python24'ü etkin sürüm yapmak için python_select'i kullandım.

+0

Bu bir oyun penceresi açar mı? O pencereye odaklanmayı denedin mi? – nosklo

+0

Evet, bir pencere açıyor ve evet, o pencere odağını vermeye çalıştım. Odağı kabul ediyor gibi görünüyor ancak giriş hala Terminalde görünüyor. – Parappa

cevap

2

Mac Bağlantı Noktalarındaki varsayılan py-oyunu, tanımladığınız soruna sahiptir. Bunun yerine bir çalışma py-game2.6 hedefini kurmaktır. Bu OS X 10.6.7 ile benim için çalışır.

1

Pygame.K_ * sabitlerinin aslında klavyenizin doğru değerlerine uyup uymadığını kontrol edebilir misiniz? Kayıt için Linux'ta bir MacBook Pro'da kodunuzu denedim ve iyi çalışıyor gibi görünüyor.

+0

Bu kodu Linux'ta da denedim ve iyi çalışıyor. Eminim sorun benim Terminal ortamım ve/veya Pygame konfigürasyonumdur, ama ne olduğunu bilmiyorum. – Parappa

+1

Bir öneri (bunu çözmediyseniz), python_select''in istediğiniz gibi çalıştığından emin misiniz? http://stackoverflow.com/questions/1768881/how-to-make-python-select-work-for-python-command – aganders3