Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Pygame eine Sprite-Bewegung kontinuierlich ausführen, während ich eine Taste gedrückt halte?

Wie kann ich in Pygame eine Sprite-Bewegung kontinuierlich ausführen, während ich eine Taste gedrückt halte?

Barbara Streisand
Barbara StreisandOriginal
2024-12-27 03:50:14893Durchsuche

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

Sprite-Bewegung durch Gedrückthalten einer Taste steuern

In Ihrem aktuellen Code bewegt sich das Sprite nur, wenn eine Taste gedrückt wird. Damit sich das Sprite kontinuierlich bewegt, wenn eine Taste gedrückt gehalten wird, können wir die Funktion pygame.key.get_pressed() verwenden. Diese Funktion gibt eine Liste boolescher Werte zurück, die angeben, welche Tasten gerade gedrückt werden.

Um dies zu implementieren, ändern Sie Ihren Code wie folgt:

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)

In diesem geänderten Code prüfen wir zunächst, welche Tasten werden derzeit mit pygame.key.get_pressed() gedrückt. Anschließend verarbeiten wir jeden Tastendruck, indem wir die X- und Y-Koordinaten des Sprites entsprechend aktualisieren. Dadurch bewegt sich das Sprite kontinuierlich, solange die entsprechende Taste gedrückt gehalten wird.

Das obige ist der detaillierte Inhalt vonWie kann ich in Pygame eine Sprite-Bewegung kontinuierlich ausführen, während ich eine Taste gedrückt halte?. 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