Déplacer à chaque image
Fait partie de la section Python dans une fenêtre de jeu du Journey Pygame de Coddy. Leçon 7 sur 32.
La boucle de jeu s’exécute 60 fois par seconde : une ligne dans la partie « Change things here » s’exécute donc une fois par image. Utilise-la pour modifier légèrement une variable à chaque fois :
comet_x = comet_x + 2Lis l’instruction de droite à gauche : prends la valeur de comet_x, ajoute 2 et stocke le résultat dans comet_x. Si sa valeur était 40, elle est maintenant de 42. À l’image suivante, elle passe à 44, puis à 46.
La comète est dessinée à la position comet_x à chaque image ; chacune la montre donc 2 pixels plus à droite : 120 pixels par seconde. C’est ainsi que tout se déplace dans un jeu : un nombre qui change légèrement à chaque image.
comet_x = 40 se trouve dans la partie de configuration, qui s’exécute une seule fois. Dans la boucle, l’instruction remettrait la comète à 40 à chaque image, et elle resterait immobile.
Python propose une forme abrégée : comet_x += 2 fait la même chose.
Défi
FacileFais voler la comète : dans la partie # Change things here, once a frame., ajoute 2 à comet_x à chaque image, afin qu’elle se déplace de 2 pixels vers la droite par image.
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()
# Initialisez les éléments ici, avant la boucle de jeu.
moon_x = 160
moon_y = 120
comet_x = 40
comet_y = 200
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.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
pygame.draw.circle(screen, (120, 200, 255), (comet_x, comet_y), 8)
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 Lune2Nombres et variables
Nommer une valeurFaire des calculsDéplacer à chaque imageDes mots à l’écranNombres entiers et décimauxEntraînez-vous par vous-même : Playground Pygame