From e787a8eb74bb735cbdcf48394e41b9305690cec3 Mon Sep 17 00:00:00 2001 From: Amaury Date: Thu, 30 Apr 2020 11:24:52 +0200 Subject: [PATCH] Collision sol ok --- .../DungeonAndDemaonScript/GestionCollision.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionCollision.cpp b/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionCollision.cpp index c310d6e..29348e2 100644 --- a/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionCollision.cpp +++ b/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionCollision.cpp @@ -23,15 +23,21 @@ std::vector GestionCollision::CheckCollisonSol() } }*/ - Vector2 posPlayer = gPlayer->get_position(); + Vector2 posPlayer = gPlayer->get_transform().get_origin(); + Vector2 taille_Player = ((Sprite*)gPlayer->get_children()[0])->get_texture().ptr()->get_size(); bool player_touch = false; for (StaticBody2D* elem : gTerrain->elems_terrains) { - if (elem->get_transform().get_origin().y - ((Sprite*)elem->get_children()[0])->get_texture().ptr()->get_size().y < posPlayer.y - && elem->get_transform().get_origin().y > posPlayer.y - && elem->get_transform().get_origin().x > posPlayer.x - && elem->get_transform().get_origin().x + ((Sprite*)elem->get_children()[0])->get_texture().ptr()->get_size().x > posPlayer.x) { + Vector2 posTerrain = elem->get_transform().get_origin(); + Vector2 taille_Sol = ((Sprite*)elem->get_children()[0])->get_texture().ptr()->get_size(); + + + if (posTerrain.y - (taille_Sol.y) < posPlayer.y + && posTerrain.y > posPlayer.y + && posTerrain.x - (taille_Sol.x / 2) < posPlayer.x + taille_Player.x / 4 + && posTerrain.x + (taille_Sol.x / 2) > posPlayer.x - taille_Player.x / 4) { + player_touch = true; break; }