Implementation de la base de l'engine #3
|
@ -55,6 +55,8 @@ class Engine:
|
||||||
self.renderer.update()
|
self.renderer.update()
|
||||||
self.event_handler.update()
|
self.event_handler.update()
|
||||||
|
|
||||||
|
self.entity_manager.get_by_name("player").move(0, 0, self.map_manager) # TODO : REMOVE !
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
"""Arrête le programme."""
|
"""Arrête le programme."""
|
||||||
self.running = False
|
self.running = False
|
||||||
|
|
|
@ -3,11 +3,12 @@ from src.map_manager import MapManager
|
||||||
|
|
||||||
class Entity:
|
class Entity:
|
||||||
"""Classe permettant de gérer les entités. Créée automatiquement par `EntityManager.register_entity()`"""
|
"""Classe permettant de gérer les entités. Créée automatiquement par `EntityManager.register_entity()`"""
|
||||||
|
|
||||||
def __init__(self, name: str):
|
def __init__(self, name: str):
|
||||||
self.x = 8
|
self.x = 8
|
||||||
self.y = 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
|
# Time utilisé pour les IA
|
||||||
self.time = 0
|
self.time = 0
|
||||||
|
@ -27,9 +28,17 @@ class Entity:
|
||||||
|
|
||||||
# Pour les collisions, on utilise le layer 1 (le deuxième)
|
# 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):
|
def link_animation(self, name: str):
|
||||||
self.animation_name = name
|
self.animation_name = name
|
||||||
|
|
Loading…
Reference in a new issue