Añadidas físicas al movimiento y salto
This commit is contained in:
@@ -21,24 +21,32 @@ public:
|
||||
LTexture *texture; // Textura con los graficos del jugador
|
||||
Map *map; // Objeto con el mapa
|
||||
|
||||
float x; // Posición del jugador en el eje X
|
||||
float y; // Posición del jugador en el eje Y
|
||||
float vx; // Velocidad/desplazamiento del jugador en el eje X
|
||||
float vy; // Velocidad/desplazamiento del jugador en el eje Y
|
||||
bool can_jump; // Si puede saltar
|
||||
bool enabled; // Si está habilitado
|
||||
bool standing; // Si esta de pie (o quieto?)
|
||||
bool invulnerable; // Si es invulnerable
|
||||
int coins; // Cantidad de monedas
|
||||
int cooldown; // Tiempo de inhabilitación
|
||||
int jumpforce; // Cantidad de pixels a desplazarse y velocidad que pilla al saltar
|
||||
int lifes; // Cantidad de vidas
|
||||
float gravity; // Gravedad
|
||||
std::vector<bool> key; // Indica las llaves que posee el jugador
|
||||
std::vector<SDL_Point> collider; // Contiene los puntos de colisión del jugador con el mapa
|
||||
JA_Sound sound_coin; // Sonido al coger monedas
|
||||
JA_Sound sound_death; // Sonido al morir
|
||||
JA_Sound sound_jump; // Sonido al saltar
|
||||
float x; // Posición del jugador en el eje X
|
||||
float y; // Posición del jugador en el eje Y
|
||||
float vx; // Velocidad/desplazamiento del jugador en el eje X
|
||||
float vy; // Velocidad/desplazamiento del jugador en el eje Y
|
||||
bool jumping; // Indica si se encuentra saltando
|
||||
bool jumpPressed; // Indica si esta pulsada la tecla de salto
|
||||
bool enabled; // Si está habilitado
|
||||
bool standing; // Si esta de pie (o quieto?)
|
||||
bool invulnerable; // Indica si se encuentra en estado invulnerable
|
||||
int coins; // Cantidad de monedas
|
||||
int cooldown; // Tiempo de inhabilitación
|
||||
int lives; // Cantidad de vidas
|
||||
|
||||
// Variables que afectan a la inercia del movimiento
|
||||
float jumpStrenght; // Cantidad de pixels a desplazarse y velocidad que pilla al saltar
|
||||
float gravity; // Gravedad
|
||||
float accelX; // Aceleración al desplazarse horizontalmente
|
||||
float maxVX; // Velocidad mazima de desplazamiento horizontal
|
||||
float maxVY; // Velocidad mazima de desplazamiento vertical
|
||||
|
||||
std::vector<bool> key; // Indica las llaves que posee el jugador
|
||||
std::vector<SDL_Point> collider; // Contiene los puntos de colisión del jugador con el mapa
|
||||
std::vector<SDL_Point> underFeet; // Contiene los puntos que hay bajo cada pie del jugador
|
||||
JA_Sound sound_coin; // Sonido al coger monedas
|
||||
JA_Sound sound_death; // Sonido al morir
|
||||
JA_Sound sound_jump; // Sonido al saltar
|
||||
|
||||
// Comprueba las entradas y modifica variables
|
||||
void checkInput();
|
||||
@@ -55,6 +63,12 @@ public:
|
||||
// Mueve al jugador en función de la velocidad/desplazamiento
|
||||
void move();
|
||||
|
||||
// Anima al jugador
|
||||
void animate();
|
||||
|
||||
// Comprueba si el jugador tiene suelo debajo de los pies
|
||||
bool isOnFloor();
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Player(SDL_Renderer *renderer, Asset *asset, Input *input, Map *map);
|
||||
|
||||
Reference in New Issue
Block a user