pyxen.time

Accede a la información de temporización basada en fotogramas del motor.

Ver también: Bucle del juego.

time = pyxen.time

El módulo time proporciona:

  • Número de fotograma actual
  • Fotogramas por segundo
  • Tiempo delta
  • Tiempo transcurrido

Todas las propiedades son solo lectura.


Propiedades

PropiedadTipoDescripción
frameintNúmero de fotograma actual desde el inicio
fpsintFotogramas por segundo objetivo
dtfloatTiempo delta (segundos por fotograma)
tfloatTiempo transcurrido en segundos

frame

current_frame = pyxen.time.frame
  • Comienza en 0
  • Se incrementa cada fotograma
  • Útil para lógica basada en fotogramas

Ejemplo:

if pyxen.time.frame % 60 == 0:
    print("Ha pasado un segundo (a 60 FPS)")

fps

fps = pyxen.time.fps

Devuelve los fotogramas por segundo del motor.

Ejemplo:

print("Ejecutando a", pyxen.time.fps, "FPS")

dt (tiempo delta)

delta = pyxen.time.dt

Equivalente a:

1.0 / pyxen.time.fps

Representa la duración de un solo fotograma en segundos.

Útil para movimiento independiente de la tasa de fotogramas:

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

t (tiempo transcurrido)

elapsed = pyxen.time.t

Equivalente a:

pyxen.time.frame / pyxen.time.fps

Representa el tiempo total desde que el juego comenzó (en segundos).

Ejemplo:

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

Lógica basada en fotogramas vs basada en tiempo

Basada en fotogramas

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

Predecible y determinista.


Basada en tiempo

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

Independiente de cambios en FPS.


Patrones comunes


Temporizador de animación

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

Temporizador de enfriamiento

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

Acción retrasada (basada en fotogramas)

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

Seguridad de solo lectura

Todas las propiedades son solo lectura:

pyxen.time.frame = 10  # Produce ValueError

El motor gestiona el estado del tiempo internamente.

Para más información sobre el bucle del juego, consulta Bucle del juego.