63 lines
2.0 KiB
C++
63 lines
2.0 KiB
C++
#pragma once
|
|
#include <SDL2/SDL.h>
|
|
#include "jail_audio.h"
|
|
#include "utils.h"
|
|
#include "input.h"
|
|
#include "animatedsprite.h"
|
|
#include "asset.h"
|
|
|
|
#ifndef PLAYER_H
|
|
#define PLAYER_H
|
|
|
|
// The player
|
|
class Player
|
|
{
|
|
private:
|
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
|
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
|
|
|
|
bool can_jump; // Si puede saltar
|
|
bool enabled; // Si está habilitado
|
|
bool jump_pressed_before; // Si se ha pulsado el botón de salto previamente
|
|
bool jump_pressed_now; // Si se acaba de pulsar el salto
|
|
bool key[6]; // Indica las llaves que posee el jugador
|
|
bool standing; // Si esta de pie (o quieto?)
|
|
bool was_on_background; // Si viene de una zona atravesable
|
|
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 respawn_x; // Coordenadas para revivir
|
|
int respawn_y; // Coordenades para revivir
|
|
int speed_x; // Cantidad de pixeles a desplazarse
|
|
int speed_y; // Cantidad de pixels a desplazarse
|
|
JA_Sound sound_coin; // Sonido al coger monedas
|
|
JA_Sound sound_death; // Sonido al morir
|
|
JA_Sound sound_jump; // Sonido al saltar
|
|
Uint8 active_animation; // Animación activa
|
|
Uint8 direction; // Sentido del desplazamiento
|
|
Uint8 lifes; // Cantidad de vidas
|
|
Uint8 respawn_direction; // Dirección para revivir
|
|
|
|
// Comprueba las entradas y modifica variables
|
|
void checkInput();
|
|
|
|
public:
|
|
// Constructor
|
|
Player(SDL_Renderer *renderer, Asset *asset, Input *input);
|
|
|
|
// Destructor
|
|
~Player();
|
|
|
|
// Actualiza todas las variables
|
|
void update();
|
|
|
|
// Dibuja el objeto
|
|
void render();
|
|
};
|
|
|
|
#endif
|