ホームページ >バックエンド開発 >Python チュートリアル >Pygameでキーを押したままスプライトを連続的に動かすにはどうすればよいですか?

Pygameでキーを押したままスプライトを連続的に動かすにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-27 03:50:14894ブラウズ

How Can I Make a Sprite Move Continuously While Holding Down a Key in Pygame?

キーを押したままにしてスプライトの動きを制御する

現在のコードでは、キーが押されたときのみスプライトが動きます。キーを押したときにスプライトを継続的に移動させるには、pygame.key.get_pressed() 関数を利用できます。この関数は、現在どのキーが押されているかを示すブール値のリストを返します。

これを実装するには、コードを次のように変更します。

while running:
    setup_background()
    spriteimg = plumberright

    screen.blit(spriteimg, (x1, y1))

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Check for key presses
    keys = pygame.key.get_pressed()

    # Handle key presses for movement
    if keys[pygame.K_UP]:
        y1 -= 1
    if keys[pygame.K_DOWN]:
        y1 += 1
    if keys[pygame.K_LEFT]:
        x1 -= 1
        y1 += 0
    if keys[pygame.K_RIGHT]:
        x1 += 1
        y1 += 0

    pygame.display.flip()
    clock.tick(120)

この変更されたコードでは、最初にどのキーが押されているかを確認します。現在、pygame.key.get_pressed() を使用して押されています。次に、スプ​​ライトの x 座標と y 座標をそれに応じて更新することで、各キーの押下を処理します。これにより、対応するキーが押されている間、スプライトが継続的に移動します。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。