Une scène de formes
Fait partie de la section La boucle de jeu du Journey Pygame de Coddy. Leçon 11 sur 32.
Dans un jeu, une image est souvent composée de nombreuses petites formes. Ici, un arbre est constitué d’un tronc marron surmonté d’un cercle vert. Dessinez-en plusieurs et vous obtenez une forêt.
Lorsque le même groupe de formes apparaît plusieurs fois, placez-le dans une fonction qui prend la position en paramètre. Chaque appel dessine un arbre :
def draw_tree(x, y):
pygame.draw.rect(screen, (120, 80, 40), (x - 5, y, 10, 30))
pygame.draw.circle(screen, (60, 170, 90), (x, y), 20)
draw_tree(80, 250)
draw_tree(240, 250)Chaque forme de la fonction est placée à partir de x et y, donc pour déplacer un arbre, il suffit de modifier un appel.
L’ordre compte toujours à l’intérieur de la fonction. Le tronc commence au centre du cercle, et le cercle est dessiné en second, de sorte qu’il recouvre le haut du tronc. Échangez les deux lignes et le tronc apparaîtra à travers les feuilles.
Défi
Facile- Dans
draw_tree, après le tronc, dessine la cime : un cercle vert(60, 170, 90)centré en(x, y)avec un rayon de20. - Sous
draw_tree(80, 250), appelle-la deux fois de plus, pour les arbres en(240, 250)et(400, 250).
Essayez vous-même
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Forest")
clock = pygame.time.Clock()
def draw_tree(x, y):
pygame.draw.rect(screen, (120, 80, 40), (x - 5, y, 10, 30))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
pygame.draw.circle(screen, (240, 240, 210), (70, 60), 24)
pygame.draw.rect(screen, (40, 90, 50), (0, 280, 480, 80))
draw_tree(80, 250)
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’écran2Formes et couleurs
Cercles, lignes et polygonesContours et anglesUne scène de formesDes couleurs qui changentEntraînez-vous par vous-même : Playground Pygame