Transició a surface: crec que falta room.cpp

This commit is contained in:
2025-03-03 21:33:59 +01:00
parent b320030547
commit b940d627d6
9 changed files with 121 additions and 157 deletions

View File

@@ -1,40 +1,40 @@
#pragma once
#include <SDL2/SDL_rect.h> // for SDL_Rect
#include <memory> // for shared_ptr
#include <string> // for string
#include "utils.h" // for Color
class AnimatedSprite;
#include <SDL2/SDL_rect.h> // for SDL_Rect
#include <memory> // for shared_ptr
#include <string> // for string
#include "utils.h" // for Color
class SAnimatedSprite;
// Estructura para pasar los datos de un enemigo
struct EnemyData
{
std::string texture_path; // Ruta al fichero con la textura
std::string animation_path; // Ruta al fichero con la animación
int w; // Anchura del enemigo
int h; // Altura del enemigo
float x; // Posición inicial en el eje X
float y; // Posición inicial en el eje Y
float vx; // Velocidad en el eje X
float vy; // Velocidad en el eje Y
int x1; // Limite izquierdo de la ruta en el eje X
int x2; // Limite derecho de la ruta en el eje X
int y1; // Limite superior de la ruta en el eje Y
int y2; // Limite inferior de la ruta en el eje Y
bool flip; // Indica si el enemigo hace flip al terminar su ruta
bool mirror; // Indica si el enemigo está volteado verticalmente
int frame; // Frame inicial para la animación del enemigo
std::string color; // Color del enemigo
std::string surface_path; // Ruta al fichero con la textura
std::string animation_path; // Ruta al fichero con la animación
int w; // Anchura del enemigo
int h; // Altura del enemigo
float x; // Posición inicial en el eje X
float y; // Posición inicial en el eje Y
float vx; // Velocidad en el eje X
float vy; // Velocidad en el eje Y
int x1; // Limite izquierdo de la ruta en el eje X
int x2; // Limite derecho de la ruta en el eje X
int y1; // Limite superior de la ruta en el eje Y
int y2; // Limite inferior de la ruta en el eje Y
bool flip; // Indica si el enemigo hace flip al terminar su ruta
bool mirror; // Indica si el enemigo está volteado verticalmente
int frame; // Frame inicial para la animación del enemigo
std::string color; // Color del enemigo
};
class Enemy
{
private:
// Objetos y punteros
std::shared_ptr<AnimatedSprite> sprite_; // Sprite del enemigo
std::shared_ptr<SAnimatedSprite> sprite_; // Sprite del enemigo
// Variables
Color color_; // Color del enemigo
Uint8 color_; // Color del enemigo
std::string color_string_; // Color del enemigo en formato texto
int x1_; // Limite izquierdo de la ruta en el eje X
int x2_; // Limite derecho de la ruta en el eje X
@@ -65,10 +65,4 @@ public:
// Obtiene el rectangulo de colision del enemigo
SDL_Rect &getCollider();
// Recarga la textura
void reLoadTexture();
// Asigna la paleta
void setPalette(Palette pal);
};