2016-07-17 15 views
1

私の問題はかなり単純です。私のケースでは、ユーザーがキーを押さえたままループを実行したい。Rキーボードのキーが押されているときにループする

キャッチは:は、PyGameを使用したいので、コンソールウィンドウにはフォーカスが当てられません。 (選択済み)

編集:この質問に重複があるとわかりました。私は、他のスレッドをチェックして、両者の主な違いは、この1つが開催されるキーをチェックする必要があるということである、パイソン/コンソールウィンドウにフォーカスを出て、選択されていません。 Windowsを使用している場合は

+0

あなたはこれを達成しようとしたどのようなキーボード入力...をリッスンするために、いくつかのスレッドを必要とするような音? –

+0

@ cricket_007何を試していいのかわかりませんが、Googleで見つけたものはすべてPyGameのものでした。 **編集:**マルチスレッドを使用する方法を教えてください。誰もそれを手伝うことができないようです。 – spikespaz

+2

重複していますか? http://stackoverflow.com/questions/11918999/key-listeners-in-python –

答えて

0

MSVCRTは、おそらくあなたは(https://docs.python.org/2/library/msvcrt.html)を探しているライブラリです。 このlibには、「キー入力が読まれるのを待っている場合はtrueを返します」kbhit機能を、含まれています

from msvcrt import kbhit, getch 

while (kbhit()): 
    getch() 
    #code 

getchはキーを読み、それがkbhit機能するので(永遠にループ内で滞在していません。読み取りされていないキーを検出します)。

+0

ありがとう! 1つのわずかな問題:コンソールウィンドウのフォーカスが外れている場合、キーを検出できません。 while '' while True: kbhit()とgetch()== b'r ': '' 'ならば、 – spikespaz

関連する問題