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.
Défi
Facile- Dans la boucle, après avoir dessiné le joyau, récupère la position du pointeur avec
pygame.mouse.get_pos(). - Dessine à cet endroit un anneau blanc
(240, 240, 240): un cercle de rayon10et d’épaisseur2.
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
1Déplacer un carré
Ouvrir une fenêtreRemplir l’arrière-plan4Déplacement en fonction du temps
Temps deltaPixels par secondeVector2Accélération et frictionBoucler autour de l’écran3La souris
Suivre le pointeurCliquer sur la gemmeEntraînez-vous par vous-même : Playground Pygame