Maison >développement back-end >Tutoriel Python >Comment obtenir un mouvement continu des sprites dans Pygame en appuyant sur les touches ?

Comment obtenir un mouvement continu des sprites dans Pygame en appuyant sur les touches ?

DDD
DDDoriginal
2024-12-20 02:27:12275parcourir

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

Mouvement continu des sprites dans Pygame avec pression sur une touche

Dans Pygame, les sprites ne se déplacent généralement que d'un pixel par pression sur une touche. Pour activer un mouvement constant lorsque la touche est maintenue enfoncée, utilisez la fonction pygame.key.get_pressed().

Le code original ci-dessous gère le mouvement des sprites en appuyant sur des touches individuelles :

    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

Pour obtenez un mouvement continu, modifiez le code en utilisant 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

Dans ce code modifié, touches[pygame.K_UP] et touches[pygame.K_DOWN] vérifient si les touches haut et bas sont enfoncées respectivement. Pendant qu'ils sont enfoncés, le sprite se déplace continuellement. L'utilisation de pygame.key.get_pressed() vous permet de gérer une saisie continue, permettant un mouvement plus fluide des sprites dans votre jeu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn