pyxen.time

Accédez aux informations de timing basées sur les frames depuis le moteur.

Voir aussi : Game Loop.

time = pyxen.time

Le module time fournit :

  • Le numéro de frame actuel
  • Les images par seconde
  • Le delta time
  • Le temps écoulé

Toutes les propriétés sont en lecture seule.


Propriétés

PropriétéTypeDescription
frameintNuméro de frame actuel depuis le démarrage
fpsintImages par seconde cibles
dtfloatDelta time (secondes par frame)
tfloatTemps écoulé en secondes

frame

current_frame = pyxen.time.frame
  • Commence à 0
  • S’incrémente à chaque frame
  • Utile pour la logique basée sur les frames

Exemple :

if pyxen.time.frame % 60 == 0:
    print("One second passed (at 60 FPS)")

fps

fps = pyxen.time.fps

Renvoie les images par seconde du moteur.

Exemple :

print("Running at", pyxen.time.fps, "FPS")

dt (Delta Time)

delta = pyxen.time.dt

Équivalent à :

1.0 / pyxen.time.fps

Représente la durée d’une frame en secondes.

Utile pour un déplacement indépendant du framerate :

player.x += speed * pyxen.time.dt

t (Temps écoulé)

elapsed = pyxen.time.t

Équivalent à :

pyxen.time.frame / pyxen.time.fps

Représente le temps total depuis le démarrage du jeu (en secondes).

Exemple :

if pyxen.time.t > 10:
    spawn_boss()

Logique basée sur les frames vs. sur le temps

Basée sur les frames

if pyxen.time.frame % 30 == 0:
    blink()

Prévisible et déterministe.


Basée sur le temps

player.x += velocity * pyxen.time.dt

Indépendant des changements de FPS.


Patterns courants


Timer d’animation

if pyxen.time.t % 1.0 < 0.5:
    sprite.visible = True
else:
    sprite.visible = False

Timer de recharge

if pyxen.time.t - last_shot_time > 0.25:
    shoot()
    last_shot_time = pyxen.time.t

Action différée (basée sur les frames)

if pyxen.time.frame == 120:
    start_level()

Sécurité en lecture seule

Toutes les propriétés sont en lecture seule :

pyxen.time.frame = 10  # ❌ Raises ValueError

Le moteur gère l’état du temps en interne.

Pour en savoir plus sur la boucle de jeu, consultez Game Loop.