Paramètres
Fait partie de la section Python dans une fenêtre de jeu du Journey Pygame de Coddy. Leçon 21 sur 32.
Une fonction qui dessine toujours en (320, 240) n’est pas très utile. Les paramètres permettent à l’appelant de choisir. Donne-leur un nom entre les parenthèses de def et utilise-les dans le corps comme des variables :
def draw_star(x, y):
pygame.draw.line(screen, (255, 240, 200), (x - 10, y), (x + 10, y), 2)
pygame.draw.line(screen, (255, 240, 200), (x, y - 10), (x, y + 10), 2)
pygame.draw.circle(screen, (255, 240, 200), (x, y), 4)Chaque appel transmet des valeurs, les arguments, dans le même ordre : draw_star(120, 100) exécute le corps avec x égal à 120 et y égal à 100. draw_star(520, 90) l’exécute de nouveau avec d’autres valeurs. Une seule définition, autant d’étoiles que tu en appelles.
Les paramètres n’existent qu’à l’intérieur de la fonction pendant son exécution. En dehors de celle-ci, x et y ne signifient rien, ou désignent ce que tu as stocké sous ces noms à cet endroit.
Défi
MoyenLaisse l’appelant placer l’étoile :
- Modifie la définition en
def draw_star(x, y):et dessine autour de (x, y) : les lignes dex - 10àx + 10et dey - 10ày + 10, le point en(x, y). - Appelle-la trois fois : en (120, 100), (320, 180) et (520, 90).
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 de jeu.
def draw_star():
pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)
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.
draw_star()
pygame.display.flip()
clock.tick(60)
pygame.quit()
Toutes les leçons de Python dans une fenêtre de jeu
1Votre première fenêtre
Votre premier programmeAfficher un messageLes couleurs en nombresDessiner la LuneEntraînez-vous par vous-même : Playground Pygame