delta_time #34

Merged
yannis merged 6 commits from delta_time into main 2024-01-13 20:05:56 +00:00
6 changed files with 15 additions and 16 deletions
Showing only changes of commit 46ca725a7e - Show all commits

View file

@ -66,4 +66,4 @@ class WolfAI(MobAI):
# On fait avancer le loup quand il le doit # On fait avancer le loup quand il le doit
if self.comportment == 1: if self.comportment == 1:
self.entity.move(self.walk_x, self.walk_y, self.map_manager) self.entity.move(self.walk_x, self.walk_y, self.map_manager, delta)

View file

@ -60,7 +60,7 @@ class Engine:
self.camera.update() self.camera.update()
self.entity_manager.update(delta) self.entity_manager.update(delta)
self.renderer.update(delta) self.renderer.update(delta)
self.event_handler.update() self.event_handler.update(delta)
self.event_sheduler.update() self.event_sheduler.update()
self.dialogs_manager.update(delta) self.dialogs_manager.update(delta)
self.sound_manager.update(delta) self.sound_manager.update(delta)

View file

@ -116,10 +116,10 @@ class Entity:
return collision return collision
def move(self, x: float, y: float, map_manager: MapManager): def move(self, x: float, y: float, map_manager: MapManager, delta: float):
"""Fait bouger l'entité en tenant compte des collisions.""" """Fait bouger l'entité en tenant compte des collisions."""
if not self.locked: # Si l'entité n'est pas verrouillée on calcul le mouvement if not self.locked: # Si l'entité n'est pas verrouillée on calcul le mouvement
# On vérifie le sens du mouvement pour changer self.direction # On vérifie le sens du mouvement pour changer self.direction
if x > 0: if x > 0:
@ -131,8 +131,8 @@ class Entity:
# On normalise la vitesse # On normalise la vitesse
initial_speed = math.sqrt(x**2+y**2) initial_speed = math.sqrt(x**2+y**2)
x = x/initial_speed*self.max_speed x = x*delta/initial_speed*self.max_speed
y = y/initial_speed*self.max_speed y = y*delta/initial_speed*self.max_speed
# On simule le mouvement. Si on ne rencontre pas de collision, on applique le mouvement # On simule le mouvement. Si on ne rencontre pas de collision, on applique le mouvement

View file

@ -21,10 +21,10 @@ class EntityManager:
"""Définit l'entité donnée comme le joueur. Elle peut donc être controlée.""" """Définit l'entité donnée comme le joueur. Elle peut donc être controlée."""
self.player_entity_name = name self.player_entity_name = name
def move_player_controls(self, x: float, y: float): def move_player_controls(self, x: float, y: float, delta: float):
"""Bouge le joueur. X et y doivent être compris entre 0 et 1""" """Bouge le joueur. X et y doivent être compris entre 0 et 1"""
player: Entity = self.get_by_name(self.player_entity_name) player: Entity = self.get_by_name(self.player_entity_name)
player.move(x, y, self.map_manager) player.move(x, y, self.map_manager, delta)
def update(self, delta: float): def update(self, delta: float):
"""Met à jour toutes les entités enregistrées.""" """Met à jour toutes les entités enregistrées."""
@ -61,7 +61,6 @@ class EntityManager:
e.lock() e.lock()
self.paused = True self.paused = True
def resume(self): def resume(self):
"""Reprend les mouvement de toutes les entitées qui n'étaient pas lock avant l'appel de .pause()""" """Reprend les mouvement de toutes les entitées qui n'étaient pas lock avant l'appel de .pause()"""
for e in self.get_all_entities(): for e in self.get_all_entities():

View file

@ -98,7 +98,7 @@ class EventHandler:
return x_value, y_value return x_value, y_value
def update(self): def update(self, delta: float):
"""Vérifie s'il y a de nouvelles interactions et les traites.""" """Vérifie s'il y a de nouvelles interactions et les traites."""
window_size = display.get_window_size() window_size = display.get_window_size()
@ -203,13 +203,13 @@ class EventHandler:
if self.engine.entity_manager.player_entity_name: if self.engine.entity_manager.player_entity_name:
if K_RIGHT in self.key_pressed: if K_RIGHT in self.key_pressed:
self.engine.entity_manager.move_player_controls(1, 0) self.engine.entity_manager.move_player_controls(1, 0, delta)
if K_LEFT in self.key_pressed: if K_LEFT in self.key_pressed:
self.engine.entity_manager.move_player_controls(-1, 0) self.engine.entity_manager.move_player_controls(-1, 0, delta)
if K_UP in self.key_pressed: if K_UP in self.key_pressed:
self.engine.entity_manager.move_player_controls(0, -1) self.engine.entity_manager.move_player_controls(0, -1, delta)
if K_DOWN in self.key_pressed: if K_DOWN in self.key_pressed:
self.engine.entity_manager.move_player_controls(0, 1) self.engine.entity_manager.move_player_controls(0, 1, delta)
if K_SPACE in self.key_pressed: if K_SPACE in self.key_pressed:
self.engine.dialogs_manager.next_signal() self.engine.dialogs_manager.next_signal()

View file

@ -72,7 +72,7 @@ class Game(Engine):
player.collision_rect = [-6, -7, 6, 16] player.collision_rect = [-6, -7, 6, 16]
player.set_default_life(15) player.set_default_life(15)
player.max_speed = 1.1 player.max_speed = 64.0
Review

POURQUOI 64 !!!!! MET SUR 100!!!!!

POURQUOI 64 !!!!! MET SUR 100!!!!!
Review

mais non pk tu veux 100 ?

mais non pk tu veux 100 ?
Review

Nan, tu le met sur 100 SUR

Nan, tu le met sur 100 SUR
self.entity_manager.set_player_entity("player") self.entity_manager.set_player_entity("player")
@ -95,7 +95,7 @@ class Game(Engine):
mob.collision_rect = [-15, -7, 12, 7] mob.collision_rect = [-15, -7, 12, 7]
mob.set_default_life(5) mob.set_default_life(5)
mob.max_speed = 1. mob.max_speed = 60.
Review

JE TE HAIS

JE TE HAIS
Review

car il faut qu'il soit presque à la même vitesse que le joueur mais que le joueur puisse fuire

car il faut qu'il soit presque à la même vitesse que le joueur mais que le joueur puisse fuire
Review

MET LE SUR 100!!!!!!

MET LE SUR 100!!!!!!
Review

pk ?

pk ?
Review

Psk c'est joli

Psk c'est joli
mob.x, mob.y = 1600, 16 mob.x, mob.y = 1600, 16