Heim >Backend-Entwicklung >Python-Tutorial >Wie erreicht man in Pygame durch Tastendrücke eine kontinuierliche Sprite-Bewegung?

Wie erreicht man in Pygame durch Tastendrücke eine kontinuierliche Sprite-Bewegung?

DDD
DDDOriginal
2024-12-20 02:27:12300Durchsuche

How to Achieve Continuous Sprite Movement in Pygame with Key Presses?

Kontinuierliche Sprite-Bewegung in Pygame mit Tastendruck

In Pygame bewegen sich Sprites normalerweise nur um ein Pixel pro Tastendruck. Um eine konstante Bewegung zu ermöglichen, während die Taste gedrückt gehalten wird, nutzen Sie die Funktion pygame.key.get_pressed().

Der folgende Originalcode verwaltet die Sprite-Bewegung durch einzelne Tastendrücke:

    while running:
        ...
        if event.key == pygame.K_LEFT:
            x1 = x1 - 1
            y1 = y1 + 0
        elif event.key == pygame.K_RIGHT:
            x1 = x1 + 1
            y1 = y1 + 0

Zu Um eine kontinuierliche Bewegung zu erreichen, ändern Sie den Code mit pygame.key.get_pressed():

    while running:
        ...
        keys = pygame.key.get_pressed()  # Checking pressed keys
        if keys[pygame.K_UP]:
            y1 -= 1
        if keys[pygame.K_DOWN]:
            y1 += 1

In diesem geänderten Code sind die Tasten [pygame.K_UP] und keys[pygame.K_DOWN] prüfen, ob die Auf- bzw. Ab-Taste gedrückt wird. Während sie gedrückt werden, bewegt sich das Sprite kontinuierlich. Mit pygame.key.get_pressed() können Sie kontinuierliche Eingaben verarbeiten und so eine flüssigere Sprite-Bewegung in Ihrem Spiel ermöglichen.

Das obige ist der detaillierte Inhalt vonWie erreicht man in Pygame durch Tastendrücke eine kontinuierliche Sprite-Bewegung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn