ホームページ > バックエンド開発 > Python チュートリアル > Pygame でキーが押されているかどうかを継続的に検出するにはどうすればよいですか?

Pygame でキーが押されているかどうかを継続的に検出するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-27 04:54:30
オリジナル
390 人が閲覧しました

How can I continuously detect if a key is being pressed in Pygame?

Pygame でのキーボード入力を理解する

Pygame でキーボード入力を取得することは、インタラクティブなゲームやアプリケーションを作成するために不可欠です。 KEYDOWN および KEYUP イベントを使用すると、キーが押されるか放されるまさにその瞬間の情報が提供されますが、現在キーが押されているかどうかを知る必要があるシナリオには不十分な場合があります。

キー状態の取得with pygame.key.get_pressed()

すべてのキーの現在の状態を取得するには、pygame.key.get_pressed() 関数を使用できます。この関数はブール値のリストを返します。各要素は特定のキーの状態に対応します。 True 値はキーが現在押されていることを示し、False はキーが押されていないことを示します。

たとえば、上矢印キーまたは下矢印キーが押されているかどうかを確認するには、次のようにします。

<code class="python">keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
    # [...]
if keys[pygame.K_DOWN]:
    # [...]</code>
ログイン後にコピー

メイン アプリケーション ループでの使用法

キーの状態を継続的に取得するには、次のロジックをメイン アプリケーション ループに組み込む必要があります。

<code class="python">run = True
while run:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    keys = pygame.key.get_pressed()
    if keys[pygame.K_UP]:
        # [...]
    if keys[pygame.K_DOWN]:
        # [...]</code>
ログイン後にコピー

注: pygame.key.get_pressed() によって返されるキーの状態は、イベントが pygame.event.pump() または pygame.event.get() を使用して処理されるときに更新されます。

以上がPygame でキーが押されているかどうかを継続的に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート