Implementation du delta time pour la caméra

This commit is contained in:
Yannis 2024-01-13 10:29:53 +01:00
parent 46ca725a7e
commit 15fad80c2e
2 changed files with 6 additions and 6 deletions

View file

@ -15,11 +15,11 @@ class Camera:
self.target_y = self.y self.target_y = self.y
self.target_zoom = self.zoom self.target_zoom = self.zoom
self.smoothness = 20. self.smoothness = 0.5
self.followed_entity: Entity | None = None self.followed_entity: Entity | None = None
def update(self): def update(self, delta: float):
"""Met à jour la caméra. Permet, par exemple, de faire le scrolling.""" """Met à jour la caméra. Permet, par exemple, de faire le scrolling."""
# Si on suit une entité, on met à jour les coordonnées de suivi # Si on suit une entité, on met à jour les coordonnées de suivi
@ -29,9 +29,9 @@ class Camera:
self.target_y = (self.followed_entity.y + self.followed_entity.mouvements[1] * self.target_y = (self.followed_entity.y + self.followed_entity.mouvements[1] *
self.player_moving_offset / self.zoom) self.player_moving_offset / self.zoom)
self.x += (self.target_x - self.x) / self.smoothness self.x += (self.target_x - self.x)*delta / self.smoothness
self.y += (self.target_y - self.y) / self.smoothness self.y += (self.target_y - self.y)*delta / self.smoothness
self.zoom += (self.target_zoom - self.zoom) / self.smoothness self.zoom += (self.target_zoom - self.zoom)*delta / self.smoothness
def follow_entity(self, entity: Entity | None): def follow_entity(self, entity: Entity | None):
"""Active le suivit de l'entité donnée. Mettre `None` pour retirer le suivit.""" """Active le suivit de l'entité donnée. Mettre `None` pour retirer le suivit."""

View file

@ -57,7 +57,7 @@ class Engine:
def update(self, delta: float): def update(self, delta: float):
"""Fonction qui regroupe toutes les updates des composants. Elle permet de mettre à jour le jeu quand on """Fonction qui regroupe toutes les updates des composants. Elle permet de mettre à jour le jeu quand on
l'appelle.""" l'appelle."""
self.camera.update() self.camera.update(delta)
self.entity_manager.update(delta) self.entity_manager.update(delta)
self.renderer.update(delta) self.renderer.update(delta)
self.event_handler.update(delta) self.event_handler.update(delta)