Trabajando en las colisiones con el mapeado

This commit is contained in:
2022-07-07 17:44:22 +02:00
parent 90bbe77f39
commit 9ecab3ea59
3 changed files with 70 additions and 15 deletions

View File

@@ -11,7 +11,10 @@
#ifndef PLAYER_H
#define PLAYER_H
#define VX 0.6
//#define VX 0.6
#define STATUS_STANDING 0
#define STATUS_JUMPING 1
#define STATUS_FALLING 2
// Clase Player
class Player
@@ -25,6 +28,8 @@ private:
SDL_Renderer *renderer; // El renderizador de la ventana
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
color_t color; // Color del jugador
int status; // Estado en el que se encuentra el jugador. Util apara saber si está saltando o cayendo
SDL_Rect lastPosition; // Contiene la ultima posición del jugador, por si hay que deshacer algun movimiento
bool onBorder; // Indica si el jugador esta en uno de los cuatro bordes de la pantalla
int border; // Indica en cual de los cuatro bordes se encuentra
@@ -35,6 +40,12 @@ private:
// Comprueba si se halla en alguno de los cuatro bordes
void checkBorders();
// Asigna velocidad negativa en el eje Y al jugador
void jump();
// Aplica gravedad al jugador
void applyGravity();
public:
// Constructor
Player(std::string _tileset, SDL_Renderer *_renderer, Asset *_asset, Input *_input, Room *_room);
@@ -66,8 +77,11 @@ public:
// Obtiene el valor del pixel inferior derecho del jugador
SDL_Point getRightFoot();
// Establece la velocidad en el eje Y al jugador
void setFalling(bool value);
// Cambia el estado del jugador
void setStatus(int value);
// Obtiene el rectangulo que delimita al jugador
SDL_Rect getRect();
};
#endif