Menu
CoddyTech

Suivre le pointeur

Fait partie de la section La boucle de jeu du Journey Pygame de Coddy. Leçon 13 sur 32.

Ce chapitre permet de créer Gem Hunt, un jeu auquel tu joues avec la souris. Le losange bleu clair est la gemme : un polygone dont les quatre sommets sont calculés à partir de gx et gy.

pygame.mouse.get_pos() donne la position du pointeur dans la fenêtre sous la forme (x, y), mesurée à partir du coin supérieur gauche comme pour tout le reste. Lis-la dans la boucle pour qu’elle soit à jour à chaque image :

mouse_x, mouse_y = pygame.mouse.get_pos()
pygame.draw.circle(screen, (240, 240, 240), (mouse_x, mouse_y), 10, 2)

La première ligne décompose le tuple en deux variables. La deuxième dessine un cercle à cet endroit, pour que le joueur voie ce qu’il pointe. Dessine-le en dernier, après la gemme, sinon celle-ci le recouvre.

Lis la position une seule fois, avant la boucle, et le cercle restera à l’endroit où se trouvait le pointeur au démarrage du jeu.

challenge icon

Défi

Facile
  1. Dans la boucle, après avoir dessiné le joyau, récupère la position du pointeur avec pygame.mouse.get_pos().
  2. Dessine à cet endroit un anneau blanc (240, 240, 240) : un cercle de rayon 10 et d’épaisseur 2.

Essayez vous-même

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Gem Hunt")
clock = pygame.time.Clock()

gx, gy = 225, 165

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

    screen.fill((30, 30, 46))
    gem_points = [(gx + 15, gy), (gx + 30, gy + 15), (gx + 15, gy + 30), (gx, gy + 15)]
    pygame.draw.polygon(screen, (80, 220, 255), gem_points)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Toutes les leçons de La boucle de jeu

Entraînez-vous par vous-même : Playground Pygame