From 08848740c4335d646fa3064fecfdf0098604e7c1 Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Sat, 23 Dec 2023 15:23:30 +0100 Subject: [PATCH] =?UTF-8?q?D=C3=A9but=20de=20collisions=20:=20d=C3=A9tecti?= =?UTF-8?q?on=20des=20tiles=20qui=20touchent=20l'entit=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine.py | 2 ++ src/entity.py | 13 +++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/engine.py b/src/engine.py index cb9ab8f..ae6cd60 100644 --- a/src/engine.py +++ b/src/engine.py @@ -55,6 +55,8 @@ class Engine: self.renderer.update() self.event_handler.update() + self.entity_manager.get_by_name("player").move(0, 0, self.map_manager) # TODO : REMOVE ! + def stop(self): """Arrête le programme.""" self.running = False diff --git a/src/entity.py b/src/entity.py index 35e11aa..03ab3d9 100644 --- a/src/entity.py +++ b/src/entity.py @@ -3,11 +3,12 @@ from src.map_manager import MapManager class Entity: """Classe permettant de gérer les entités. Créée automatiquement par `EntityManager.register_entity()`""" + def __init__(self, name: str): self.x = 8 self.y = 8 - self.collision_rect = [-7, -7, 7, 7] # x1, y1, x2, y2 + self.collision_rect = [-7, -7, 20, 20] # x1, y1, x2, y2 # Time utilisé pour les IA self.time = 0 @@ -27,9 +28,17 @@ class Entity: # Pour les collisions, on utilise le layer 1 (le deuxième) - top_left_corner_tile = map_manager.get_tile_at(self.x+x-self.collision_rect[0], self.y+y-self.collision_rect[1]) + top_left_corner_tile = (int((self.x + x + self.collision_rect[0]) / 16), + int((self.y + y + self.collision_rect[1]) / 16)) + top_right_corner_tile = (int((self.x + x + self.collision_rect[2]) / 16), + int((self.y + y + self.collision_rect[1]) / 16)) + bottom_left_corner_tile = (int((self.x + x + self.collision_rect[0]) / 16), + int((self.y + y + self.collision_rect[3]) / 16)) + bottom_right_corner_tile = (int((self.x + x + self.collision_rect[2]) / 16), + int((self.y + y + self.collision_rect[3]) / 16)) + print(top_left_corner_tile, top_right_corner_tile, bottom_left_corner_tile, bottom_right_corner_tile) def link_animation(self, name: str): self.animation_name = name