python 3.3用にpygame 1.9.2をダウンロードしましたが、関数が機能しません。 IDLEシェルは、私に同じエラーを伝え続けています:Keydown関数が機能しない
NameError: name 'KEYDOWN' is not defined
どのようにこの問題を解決できますか?私はプログラミングにちょっと新しいので、これを私に説明してください。
python 3.3用にpygame 1.9.2をダウンロードしましたが、関数が機能しません。 IDLEシェルは、私に同じエラーを伝え続けています:Keydown関数が機能しない
NameError: name 'KEYDOWN' is not defined
どのようにこの問題を解決できますか?私はプログラミングにちょっと新しいので、これを私に説明してください。
注:前回の回答を削除して申し訳ありませんが、スタックオーバーフローはランダムに投稿されました。
まあ、いくつか間違っている可能性があります。 pygame.key.keydown()
を使用している可能性があります。間違っています。pygame.key.get_pressed()
を使用してください。 しかし、あなたのコードに間違っていると思われるのは、pygame.KEYDOWN
を正しく使用していないということです。
あなたはキーが押されている間、何かをpygame.key.get_pressed()
を使用しており、このような何かをしようとしている場合:
key = pygame.key.get_pressed()
if key[pygame.K_WHATEVER_KEY_YOU_WANT]:
# do code
をし、ちょうどあなたがチェックしたいすべてのキーのためにそれを繰り返します。
したいキーが入れ子になったに押されている場合、あなただけのキーが押されているかどうかを確認しようとしている場合は、if文でpygame.KEYDOWN
を使用し、その後、チェックif文下の文最初の場合。これと同じように:
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_WHATEVER_KEY_YOU_WANT:
#do code
私はあなたのイベントを「取得」というpygame.event.get()
以上の機能を反復するために使用して、イベント変数を持っていると仮定しています。そうでない場合は、その後、ここでのコードゲーム/ウィンドウループにの上にある:
running = True # variable to control while loop
while running: # while the variable running is equal to true
for event in pygame.event.get(): # use the variable 'event' to iterate over user events
if event.type == pygame.QUIT: # test if the user is trying to close the window
running = False # break the loop if the user is trying to close the window
pygame.quit() # de-initialize pygame module
quit() # quit() the IDE shell
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_WHATEVER_KEY_YOU_WANT:
#do code
これはpygame.KEYDOWN
を使用する方法は基本的です。それはおそらく唯一の方法ではないでしょう。 pygameのキー入力をチェックする方法については、公式サイトのpygame docsを読むことをお勧めします(プログラミング初心者ですので)。そして、この質問にanswersの一部を読んでください。
あなたは最初にこれを追加することができます。pygame.localsから は*の – LychmanIT
可能な重複インポート[NameError:名「KEYDOWN」が定義されていません](http://stackoverflow.com/questions/17556426/nameerror-name -keydown-is-not-defined) – SiHa