Gérer le temps
Faire faire une pause au programme
Il existe deux méthode pour faire faire une pause au programme : pygame.time.wait(time_ms)
et pygame.time.delay(time_ms)
. Elles prennent toutes les deux un nombre entier de millisecondes en paramètre.
• La méthode pygame.time.wait(time_ms)
occupe peu le processeur, mais est moins précise.
• La méthode pygame.time.delay(time_ms)
est plus précise, mais occupe davantage le processeur.
Actualiser l'affichage de la fenêtre à intervalle de temps régulier
Présentation
Pour actualiser l'affichage (ou pour toute autre action) à intervalle de temps régulier, on utilise une boucle associée à la méthodes tick(frame)
d'un objet de type Clock()
.
La méthodes tick(frame)
se place dans la boucle et prend un taux de rafraîchissement (nombre de rafraîchissement par seconde) en paramètre, de façon à ralentir la vitesse de rafraîchissement de l'animation.
Exemple : déplacement d'un cercle
import pygame
LARGEUR = 400
HAUTEUR = 300
COULEUR_FOND = (0, 0, 0)
COULEUR_OBJET = (255, 0, 0)
fen = pygame.display.set_mode((LARGEUR, HAUTEUR))
clock = pygame.time.Clock()
continuer = True
pos_x = -20
d_x = 4
while continuer :
for event in pygame.event.get():
if event.type == pygame.QUIT:
continuer = False
clock.tick(30)
fen.fill(COULEUR_FOND)
pygame.draw.circle(fen, COULEUR_OBJET, (pos_x, HAUTEUR // 2), 40)
pygame.display.flip()
pos_x = (pos_x + d_x) % LARGEUR
pygame.display.quit()