Menu
CoddyTech

Cliquer pour ajouter

Fait partie de la section Python dans une fenêtre de jeu du Journey Pygame de Coddy. Leçon 25 sur 32.

Une liste peut s’agrandir pendant que le jeu s’exécute. stars.append(item) ajoute un élément à la fin.

Un clic de souris arrive dans la boucle d’événements sous forme d’événement MOUSEBUTTONDOWN, et event.pos indique où il s’est produit, sous la forme d’un tuple (x, y) :

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        running = False
    if event.type == pygame.MOUSEBUTTONDOWN:
        stars.append(event.pos)

Chaque clic ajoute une position. La partie dessin affiche déjà chaque étoile de la liste, donc la nouvelle étoile apparaît à la prochaine image et y reste, car la liste la conserve.

La liste est vide au départ, dans la partie configuration : stars = []. Créée à l’intérieur de la boucle de jeu, elle serait vidée à chaque image et chaque étoile disparaîtrait aussitôt.

challenge icon

Défi

Facile

Dans la boucle d’événements, lorsqu’un événement MOUSEBUTTONDOWN survient, ajoutez event.pos à stars. Chaque clic place alors une étoile blanche.

Essayez vous-même

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# Préparez les éléments ici, avant la boucle du jeu.
stars = []

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

    # Modifiez les éléments ici, une fois par image.

    screen.fill((20, 24, 48))
    # Dessinez ici, après le remplissage.
    for star in stars:
        pygame.draw.circle(screen, (255, 255, 255), star, 5)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Toutes les leçons de Python dans une fenêtre de jeu

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