oujood.com

Utilisation des méthodes time en pygame

Tutoriel sur l'utilisation du module pygame.time en Pygame. Découvrez les fonctions pygame.time.wait, pygame.time.get_ticks, pygame.time.delay, et pygame.time.Clock.

Les méthodes time en pygame

Lorsque nous utilisons pygame, nous avons parfois besoin d'effectuer certaines opérations qui incluent l'utilisation du temps. Par exemple, trouver le temps d'exécution de notre programme, mettre le programme en pause pendant un certain temps, etc. Pour ce genre d'opérations, nous avons besoin d'utiliser les méthodes time de pygame. Dans cet article, nous allons discuter des différentes méthodes qui peuvent être utilisées pour effectuer ces opérations.

Voici un tutoriel sur l'utilisation du module pygame.time en Pygame. Ce module est essentiel pour gérer le temps dans vos jeux et applications Pygame. Nous allons discuter des fonctions suivantes :

  1. pygame.time.wait(ms)
  2. pygame.time.get_ticks()
  3. pygame.time.delay(ms)
  4. pygame.time.Clock

Assurez-vous d'avoir Pygame installé. Si ce n'est pas le cas, vous pouvez l'installer en utilisant la commande suivante dans votre terminal ou invite de commandes :

pip install pygame

Ensuite, créons un script Pygame simple pour illustrer ces fonctions.

Exemple :       Copier le code

import pygame
import sys

# Initialisation de Pygame
pygame.init()

# Définir la résolution de la fenêtre
width, height = 500, 300
window = pygame.display.set_mode((width, height))
pygame.display.set_caption("Pygame Time Tutorial")

# Couleurs
white = (255, 255, 255)

# Initialisation du temps
clock = pygame.time.Clock()

# Position initiale du carré
x, y = width // 2, height // 2
speed = 5

# Boucle principale du jeu
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Effacer l'écran
    window.fill(white)

    # Dessiner un carré
    pygame.draw.rect(window, (0, 128, 255), (x, y, 50, 50))

    # Mettre à jour l'affichage
    pygame.display.flip()

    # Utilisation de pygame.time.wait
    pygame.time.wait(1000)  # Pause de 1 seconde (1000 millisecondes)

    # Utilisation de pygame.time.get_ticks
    current_time = pygame.time.get_ticks()/1000
    print("Temps actuel en secondes: ", current_time)

    # Utilisation de pygame.time.delay
    pygame.time.delay(1000)  # Pause de 1 seconde (1000 millisecondes)

    # Mouvement du carré
    x += speed

    # Utilisation de pygame.time.Clock
    clock.tick(60)  # Limiter le nombre d'images par seconde à 60

# Quitter Pygame
pygame.quit()
sys.exit()

Maintenant, expliquons chaque fonction :

  1. pygame.time.wait(ms): Cette fonction suspend l'exécution du programme pendant le nombre de millisecondes spécifié (dans cet exemple, 1000 millisecondes ou 1 seconde).
  2. pygame.time.get_ticks(): Cette fonction renvoie le temps écoulé depuis l'initialisation de Pygame en millisecondes. Utile pour mesurer le temps écoulé.
  3. pygame.time.delay(ms): Similaire à pygame.time.wait, cette fonction met également en pause le programme pendant le nombre spécifié de millisecondes.
  4. pygame.time.Clock: Cette classe est utilisée pour réguler le nombre d'images par seconde (FPS) dans le jeu. En appelant la méthode tick(), vous pouvez contrôler la vitesse du jeu en limitant le nombre d'itérations par seconde.

Plus de précision sur la fonction Clock() de pygame.time

Comme dit précédemment cette fonction est utilisée pour créer un objet horloge qui peut être utilisé pour suivre le temps. Les différentes méthodes de cet objet sont décrites ci-dessous :

tick():Cette méthode doit être appelée une fois par image. Elle calcule le nombre de millisecondes qui se sont écoulées depuis l'appel précédent. Si vous passez l'argument optionnel framerate, la fonction retardera le jeu pour qu'il tourne moins vite que le nombre de ticks par seconde donné. Par exemple, si nous passons 10 comme argument, le programme ne fonctionnera jamais à plus de 10 images par seconde.

get_time():Cette fonction est utilisée pour obtenir le nombre de millisecondes utilisées entre deux tick().

get_fps() : Elle fournit des informations sur la fréquence des images de l'horloge et renvoie la valeur en virgule flottante.

Exemple : Un programme simple pour démontrer cette fonction pourrait être comme suit:

Exemple :       Copier le code

# Importation du module pygame
import pygame
 
# initialisation de pygame
pygame.init()
 
# déclarer une variable i avec la valeur 0
i=0
 
# création d'un objet horloge
clock=pygame.time.Clock()
 
# création d'une boucle pour 5 itérations
while i<5 :
       
    # réglage de la vitesse de défilement du programme à 1 tick par seconde au maximum
    clock.tick(1)
     
    # impression du temps utilisé dans le tick précédent
    print(clock.get_time(), "\n")
     
    # impression du calcul du taux de rafraîchissement de l'horloge
    print(clock.get_fps())
    i=i+1

J'espère que ce tutoriel vous aide à comprendre et à utiliser le module pygame.time dans tes projets Pygame ! N'hésitez pas à ajuster le code selon vos besoins.


Voir aussi nos tutoriel :

list-style-type

Indique le type de marqueur list-item

Balise q

Définit une citation courte

L'Attribut dropzone

Spécifie si les données déplacées sont copiées, déplacées ou liées, alors ignorés