54 lines
1.3 KiB
C++
54 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <SDL2/SDL.h>
|
|
#include "common/asset.h"
|
|
#include "common/screen.h"
|
|
#include "common/sprite.h"
|
|
#include "const.h"
|
|
|
|
#ifndef TILEDBG_H
|
|
#define TILEDBG_H
|
|
|
|
// Clase Tiledbg
|
|
class Tiledbg
|
|
{
|
|
private:
|
|
// Objetos y punteros
|
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
|
Screen *screen; // Objeto encargado de dibujar en pantalla
|
|
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
|
SDL_Rect window; // Ventana visible para la textura de fondo del titulo
|
|
SDL_Texture *canvas; // Textura dibujar el fondo del titulo
|
|
|
|
// Variables
|
|
SDL_Rect pos; // Posición y tamaña del mosaico
|
|
int counter; // Contador
|
|
Uint8 mode; // Tipo de movimiento del mosaico
|
|
float sin[360]; // Vector con los valores del seno precalculados
|
|
int tileWidth; // Ancho del tile
|
|
int tileHeight; // Alto del tile
|
|
|
|
// Inicializa las variables
|
|
void init();
|
|
|
|
// Rellena la textura con el contenido
|
|
void fillTexture();
|
|
|
|
public:
|
|
// Constructor
|
|
Tiledbg(SDL_Renderer *renderer, Screen *screen, Asset *asset, SDL_Rect pos);
|
|
|
|
// Destructor
|
|
~Tiledbg();
|
|
|
|
// Pinta la clase en pantalla
|
|
void render();
|
|
|
|
// Actualiza la lógica de la clase
|
|
void update();
|
|
|
|
// Recarga las texturas
|
|
void reLoad();
|
|
};
|
|
|
|
#endif |