Ajout d'un décalage de la caméra lors du déplacement du joueur
This commit is contained in:
parent
7c203a5d36
commit
acca811311
|
@ -7,6 +7,9 @@ class Camera:
|
||||||
self.y = 0
|
self.y = 0
|
||||||
self.zoom = 1.
|
self.zoom = 1.
|
||||||
|
|
||||||
|
# Décalage lors du mouvement du joueur
|
||||||
|
self.player_moving_offset = 100
|
||||||
|
|
||||||
# Variables utilisées pour le scrolling
|
# Variables utilisées pour le scrolling
|
||||||
self.target_x = self.x
|
self.target_x = self.x
|
||||||
self.target_y = self.y
|
self.target_y = self.y
|
||||||
|
@ -21,8 +24,10 @@ class Camera:
|
||||||
|
|
||||||
# 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
|
||||||
if self.followed_entity is not None:
|
if self.followed_entity is not None:
|
||||||
self.target_x = self.followed_entity.x
|
self.target_x = (self.followed_entity.x + self.followed_entity.mouvements[0] *
|
||||||
self.target_y = self.followed_entity.y
|
self.player_moving_offset / self.zoom)
|
||||||
|
self.target_y = (self.followed_entity.y + self.followed_entity.mouvements[1] *
|
||||||
|
self.player_moving_offset / self.zoom)
|
||||||
|
|
||||||
self.x += (self.target_x - self.x) / self.smoothness
|
self.x += (self.target_x - self.x) / self.smoothness
|
||||||
self.y += (self.target_y - self.y) / self.smoothness
|
self.y += (self.target_y - self.y) / self.smoothness
|
||||||
|
|
|
@ -10,6 +10,12 @@ class Entity:
|
||||||
self.x = 8
|
self.x = 8
|
||||||
self.y = 8
|
self.y = 8
|
||||||
|
|
||||||
|
# Variables utilisées pour detecter les mouvements
|
||||||
|
self.last_x = 0
|
||||||
|
self.last_y = 0
|
||||||
|
|
||||||
|
self.mouvements = [0., 0.]
|
||||||
|
|
||||||
self.max_speed = 1.
|
self.max_speed = 1.
|
||||||
|
|
||||||
self.life_points = -1
|
self.life_points = -1
|
||||||
|
@ -42,6 +48,14 @@ class Entity:
|
||||||
if self.damage_cooldown < 0:
|
if self.damage_cooldown < 0:
|
||||||
self.damage_cooldown = 0
|
self.damage_cooldown = 0
|
||||||
|
|
||||||
|
# Si les coordonnées ont changé, l'entité a bougé
|
||||||
|
|
||||||
|
self.mouvements[0] = (self.x - self.last_x) / self.max_speed
|
||||||
|
self.mouvements[1] = (self.y - self.last_y) / self.max_speed
|
||||||
|
|
||||||
|
self.last_x = self.x
|
||||||
|
self.last_y = self.y
|
||||||
|
|
||||||
def take_damages(self, damages: int):
|
def take_damages(self, damages: int):
|
||||||
"""Inflige {damages} dégâts à l'entité."""
|
"""Inflige {damages} dégâts à l'entité."""
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue