Ya detecta las plataformas móviles bajo los pies
This commit is contained in:
@@ -3,8 +3,8 @@
|
||||
// Calcula el cuadrado de la distancia entre dos puntos
|
||||
double distanceSquared(int x1, int y1, int x2, int y2)
|
||||
{
|
||||
int deltaX = x2 - x1;
|
||||
int deltaY = y2 - y1;
|
||||
const int deltaX = x2 - x1;
|
||||
const int deltaY = y2 - y1;
|
||||
return deltaX * deltaX + deltaY * deltaY;
|
||||
}
|
||||
|
||||
@@ -71,20 +71,20 @@ bool checkCollision(circle_t &a, SDL_Rect &b)
|
||||
return false;
|
||||
}
|
||||
|
||||
// Detector de colisiones entre un dos rectangulos
|
||||
// Detector de colisiones entre dos rectangulos
|
||||
bool checkCollision(SDL_Rect &a, SDL_Rect &b)
|
||||
{
|
||||
// Calculate the sides of rect A
|
||||
int leftA = a.x;
|
||||
int rightA = a.x + a.w;
|
||||
int topA = a.y;
|
||||
int bottomA = a.y + a.h;
|
||||
const int leftA = a.x;
|
||||
const int rightA = a.x + a.w;
|
||||
const int topA = a.y;
|
||||
const int bottomA = a.y + a.h;
|
||||
|
||||
// Calculate the sides of rect B
|
||||
int leftB = b.x;
|
||||
int rightB = b.x + b.w;
|
||||
int topB = b.y;
|
||||
int bottomB = b.y + b.h;
|
||||
const int leftB = b.x;
|
||||
const int rightB = b.x + b.w;
|
||||
const int topB = b.y;
|
||||
const int bottomB = b.y + b.h;
|
||||
|
||||
// If any of the sides from A are outside of B
|
||||
if (bottomA <= topB)
|
||||
@@ -111,6 +111,35 @@ bool checkCollision(SDL_Rect &a, SDL_Rect &b)
|
||||
return true;
|
||||
}
|
||||
|
||||
// Detector de colisiones entre un punto y u rectangulo
|
||||
bool checkCollision(SDL_Point &p, SDL_Rect &r)
|
||||
{
|
||||
// Comprueba si el punto está fuera del rectangulo en el eje X
|
||||
if (p.x < r.x)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (p.x > r.x + r.w)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Comprueba si el punto está fuera del rectangulo en el eje Y
|
||||
if (p.y < r.y)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (p.y > r.y + r.h)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Si ha llegado hasta aquí, es que está dentro
|
||||
return true;
|
||||
}
|
||||
|
||||
// Carga un archivo de imagen en una textura
|
||||
bool loadTextureFromFile(LTexture *texture, std::string path, SDL_Renderer *renderer)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user