L’horloge
Leçon 4 sur 41 du cours Créer des jeux avec Pygame de Coddy.
Ta boucle s’exécute aussi vite que l’ordinateur le permet : des milliers d’images par seconde sur une machine rapide, moins sur une machine lente. Un jeu doit avoir la même vitesse partout.
Un pygame.time.Clock régule le rythme. Crée-en un avant la boucle, puis appelle clock.tick(60) une fois à la fin de chaque itération. Il attend aussi longtemps que nécessaire pour que la boucle s’exécute au maximum 60 fois par seconde.
clock = pygame.time.Clock()
running = True
while running:
# événements, dessin, basculement
clock.tick(60)60 images par seconde est la fréquence habituelle pour obtenir un mouvement fluide. À partir de maintenant, un élément qui se déplace de 4 pixels par image se déplace de 240 pixels par seconde.
Défi
FacileFais tourner le jeu à 60 images par seconde.
- Sous la ligne
set_caption, crée une horloge :clock = pygame.time.Clock(). - Comme dernière ligne de la boucle, après l'appel à flip, appelle
clock.tick(60).
Appuie sur « Jouer » : le carré a le même aspect, mais il est maintenant dessiné 60 fois par seconde. Puis appuie sur « Vérifier ».
Essayez vous-même
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), (220, 160, 40, 40))
pygame.display.flip()
pygame.quit()
Toutes les leçons de Créer des jeux avec Pygame
Entraînez-vous par vous-même : Playground Pygame