2012-01-03 3 views
0

ゲームで「asdw」キーを使用して文字を移動しようとしましたが、Returnキーを押さずにデータを入力する方法が見つかりません。私はWindows上で、getch関数を持つmsvcrtというモジュールがあることを知っています。それで、OSXでこれをシミュレートする方法があるのか​​、単にキーボードから常にデータを入力するのかという疑問があります。Python 3 - OSXで<return>を押さずにデータを入力する方法

+0

重複(http://stackoverflow.com/questions/3523174/raw-input-in-python-without-pressing-enter ) –

+0

いいえ、そうではありません。その質問に対する回答はブロックされています。つまり、キーを押すのを待つ*でしょう。彼がゲームでその解決策を使用した場合、ユーザーがキーを押すのを待つ間、画面上のすべてがフリーズします。 –

+0

これは、[Pythonでキーボードをポーリングする](http://stackoverflow.com/questions/292095/polling-the-keyboard-in-python)の複製である可能性が高くなります。私は残念ながら、質問をreflagすることはできません。 –

答えて

0

cursesライブラリ試し:

http://docs.python.org/py3k/library/curses.html

呪いは、端末を制御するためのライブラリであり、そのようなだけでなく、ボックス形状を描画するなどの機能を含みます。これは、Mac OS XとGNU/Linuxを含むPOSIX互換のシステムで利用できます。

ここでは例です:[入力押さずにPythonでraw_input]の

import curses 

# Turn off line buffering 
curses.cbreak() 

# Initialize the terminal 
win = curses.initscr() 

# Make getch() non-blocking 
win.nodelay(True) 

while True: 
    key = win.getch() 
    if key != -1: 
     print('Pressed key', key) 
    time.sleep(0.01) 
+0

好奇心のために、どのグラフィックスライブラリを使用していますか?あなたがゲームを書くために設計されたものを使用しているなら、何らかの種類のキーボードシステムが組み込まれているはずです。ところで、グラフィックとインタラクティビティが必要な場合、pygame(http://pygame.org/)はすばらしいです。 –

+0

私は学校で私の授業で使ったグラフィックライブラリです。このゲームを使うのはあまり良いことではないので、私はpygameを使って調べるべきです。しかし、ここにモジュールのリンクがあります。 http://mcsp.wartburg.edu/zelle/python/graphics/graphics/index.html – fahrbach