Maison >développement back-end >Tutoriel Python >Comment puis-je faire bouger un sprite en continu tout en maintenant une touche enfoncée dans Pygame ?

Comment puis-je faire bouger un sprite en continu tout en maintenant une touche enfoncée dans Pygame ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-27 03:50:14894parcourir

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

Contrôler le mouvement du sprite en maintenant la touche enfoncée

Dans votre code actuel, le sprite ne se déplace que lorsqu'une touche est enfoncée. Pour faire bouger le sprite en continu lorsqu'une touche est enfoncée, nous pouvons utiliser la fonction pygame.key.get_pressed(). Cette fonction renvoie une liste de booléens indiquant quelles touches sont actuellement enfoncées.

Pour implémenter cela, modifiez votre code comme suit :

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)

Dans ce code modifié, nous vérifions d'abord quelles touches sont actuellement pressés à l'aide de pygame.key.get_pressed(). Ensuite, nous gérons chaque pression sur une touche en mettant à jour les coordonnées x et y du sprite en conséquence. Cela entraînera le déplacement continu du sprite tant que la touche correspondante sera maintenue enfoncée.

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