Trabajando en las colisiones

This commit is contained in:
2022-08-16 13:54:22 +02:00
parent 77980a4d70
commit a941f72208
7 changed files with 140 additions and 20 deletions

View File

@@ -5,6 +5,7 @@
#include "input.h"
#include "animatedsprite.h"
#include "asset.h"
#include "map.h"
#ifndef PLAYER_H
#define PLAYER_H
@@ -18,26 +19,41 @@ private:
Input *input; // Objeto Input para gestionar las entradas
AnimatedSprite *sprite; // Objeto con los graficos, animaciones y posición del jugador
LTexture *texture; // Textura con los graficos del jugador
Map *map; // Objeto con el mapa
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
std::vector<bool> key; // Indica las llaves que posee el jugador
JA_Sound sound_coin; // Sonido al coger monedas
JA_Sound sound_death; // Sonido al morir
JA_Sound sound_jump; // Sonido al saltar
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
// Comprueba las entradas y modifica variables
void checkInput();
// Aplica la gravedad
void addGravity();
// Actualiza los puntos de colisión
void updateColliders();
// Compruena las colisiones con el mapa
void checkMapCollisions();
// Deshace el último movimiento
void undoMove();
public:
// Constructor
Player(SDL_Renderer *renderer, Asset *asset, Input *input);
Player(SDL_Renderer *renderer, Asset *asset, Input *input, Map *map);
// Destructor
~Player();