forked from jaildesigner-jailgames/jaildoctors_dilemma
AHORA SI: Colisiones finalizadas
This commit is contained in:
@@ -238,16 +238,10 @@ void Player::move()
|
||||
{
|
||||
// Crea el rectangulo de proyección en el eje X para ver si colisiona
|
||||
SDL_Rect proj;
|
||||
proj.x = (int)x;
|
||||
proj.y = (int)y;
|
||||
proj.h = h;
|
||||
proj.w = (int)vx;
|
||||
|
||||
// **new
|
||||
proj.x = (int)(x + vx);
|
||||
proj.y = (int)y;
|
||||
proj.h = h - 1;
|
||||
proj.w = (int)abs(vx);
|
||||
proj.w = ceil(abs(vx)); // Para evitar que tenga un ancho de 0 pixels
|
||||
|
||||
// Comprueba la colisión
|
||||
const int pos = room->checkRightSurfaces(&proj);
|
||||
@@ -271,7 +265,7 @@ void Player::move()
|
||||
proj.x = (int)x + w;
|
||||
proj.y = (int)y;
|
||||
proj.h = h - 1;
|
||||
proj.w = (int)(vx);
|
||||
proj.w = ceil(vx); // Para evitar que tenga un ancho de 0 pixels
|
||||
|
||||
// Comprueba la colisión
|
||||
const int pos = room->checkLeftSurfaces(&proj);
|
||||
@@ -299,14 +293,8 @@ void Player::move()
|
||||
// Crea el rectangulo de proyección en el eje X para ver si colisiona
|
||||
SDL_Rect proj;
|
||||
proj.x = (int)x;
|
||||
proj.y = (int)y;
|
||||
proj.h = (int)vy;
|
||||
proj.w = w;
|
||||
|
||||
// **new
|
||||
proj.x = (int)x;
|
||||
proj.y = (int)(y + vy);
|
||||
proj.h = (int)abs(vy);
|
||||
proj.h = ceil(abs(vy)); // Para evitar que tenga una altura de 0 pixels
|
||||
proj.w = w - 1;
|
||||
|
||||
// Comprueba la colisión
|
||||
@@ -331,7 +319,7 @@ void Player::move()
|
||||
SDL_Rect proj;
|
||||
proj.x = (int)x;
|
||||
proj.y = (int)y + h;
|
||||
proj.h = (int)vy;
|
||||
proj.h = ceil(vy); // Para evitar que tenga una altura de 0 pixels
|
||||
proj.w = w - 1;
|
||||
|
||||
// Comprueba la colisión
|
||||
|
||||
Reference in New Issue
Block a user