Rediseñada y optimizada la clase Instructions

This commit is contained in:
2024-07-05 11:34:55 +02:00
parent 2b628d2d61
commit 5e7212dfaa
5 changed files with 223 additions and 113 deletions

View File

@@ -10,6 +10,7 @@
#include "common/utils.h"
#include "const.h"
#include "lang.h"
#include "tiledbg.h"
#ifndef INSTRUCTIONS_H
#define INSTRUCTIONS_H
@@ -22,22 +23,25 @@ private:
SDL_Renderer *renderer; // El renderizador de la ventana
Screen *screen; // Objeto encargado de dibujar en pantalla
std::vector<Texture *> itemTextures; // Vector con las texturas de los items
std::vector<Sprite *> sprites; // Vector con los sprites de los items
SDL_Event *eventHandler; // Manejador de eventos
SDL_Texture *backbuffer; // Textura para usar como backbuffer
Sprite *sprite; // Sprite con la textura de las instrucciones
SDL_Texture *texture; // Textura fija con el texto
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
Input *input; // Objeto pata gestionar la entrada
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
Text *text; // Objeto para escribir texto
Tiledbg *tiledbg; // Objeto para dibujar el mosaico animado de fondo
section_t *section; // Estado del bucle principal para saber si continua o se sale
param_t *param; // Puntero con todos los parametros del programa
// Variables
Uint16 counter; // Contador
Uint16 counterEnd; // Valor final para el contador
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
bool manualQuit; // Indica si se quiere salir del modo manual
int counter; // Contador
int counterEnd; // Valor final para el contador
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
SDL_Rect view; // Vista del backbuffer que se va amostrar por pantalla
SDL_Point spritePos; // Posición del primer sprite
// Actualiza las variables
void update();
@@ -51,6 +55,18 @@ private:
// Comprueba las entradas
void checkInput();
// Rellena la textura de texto
void fillTexture();
// Rellena el backbuffer
void fillBackbuffer();
// Inicializa los sprites de los items
void iniSprites();
// Actualiza los sprites
void updateSprites();
public:
// Constructor
Instructions(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, Lang *lang, param_t *param, section_t *section);