Las instrucciones ya usan las nuevas texturas de objetos
This commit is contained in:
@@ -12,9 +12,27 @@ Instructions::Instructions(SDL_Renderer *renderer, Screen *screen, Asset *asset,
|
||||
this->lang = lang;
|
||||
|
||||
// Reserva memoria para los punteros
|
||||
LTexture *item1 = new LTexture(renderer, asset->get("item_points1_disk.png"));
|
||||
itemTextures.push_back(item1);
|
||||
|
||||
LTexture *item2 = new LTexture(renderer, asset->get("item_points2_gavina.png"));
|
||||
itemTextures.push_back(item2);
|
||||
|
||||
LTexture *item3 = new LTexture(renderer, asset->get("item_points3_pacmar.png"));
|
||||
itemTextures.push_back(item3);
|
||||
|
||||
LTexture *item4 = new LTexture(renderer, asset->get("item_clock.png"));
|
||||
itemTextures.push_back(item4);
|
||||
|
||||
LTexture *item5 = new LTexture(renderer, asset->get("item_coffee.png"));
|
||||
itemTextures.push_back(item5);
|
||||
|
||||
LTexture *item6 = new LTexture(renderer, asset->get("item_coffee_machine.png"));
|
||||
itemTextures.push_back(item6);
|
||||
|
||||
eventHandler = new SDL_Event();
|
||||
itemTexture = new LTexture(renderer, asset->get("items.png"));
|
||||
sprite = new Sprite(0, 0, GAME_WIDTH, GAME_HEIGHT, itemTexture, renderer);
|
||||
|
||||
sprite = new Sprite(0, 0, 16, 16, itemTextures.at(0), renderer);
|
||||
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
|
||||
|
||||
// Crea un backbuffer para el renderizador
|
||||
@@ -36,8 +54,12 @@ Instructions::Instructions(SDL_Renderer *renderer, Screen *screen, Asset *asset,
|
||||
// Destructor
|
||||
Instructions::~Instructions()
|
||||
{
|
||||
itemTexture->unload();
|
||||
delete itemTexture;
|
||||
for (auto texture : itemTextures)
|
||||
{
|
||||
texture->unload();
|
||||
delete texture;
|
||||
}
|
||||
itemTextures.clear();
|
||||
|
||||
delete sprite;
|
||||
delete eventHandler;
|
||||
@@ -121,36 +143,36 @@ void Instructions::render()
|
||||
}
|
||||
|
||||
// Disquito
|
||||
sprite->setTexture(itemTextures.at(0));
|
||||
sprite->setPos(destRect1);
|
||||
srcRect.x = 0;
|
||||
srcRect.y = 16 * (((counter + 12) / 36) % 2);
|
||||
sprite->setSpriteClip(srcRect);
|
||||
sprite->render();
|
||||
|
||||
// Gavineixon
|
||||
sprite->setTexture(itemTextures.at(1));
|
||||
sprite->setPos(destRect2);
|
||||
srcRect.x += srcRect.w;
|
||||
srcRect.y = 16 * (((counter + 9) / 36) % 2);
|
||||
sprite->setSpriteClip(srcRect);
|
||||
sprite->render();
|
||||
|
||||
// Pacmar
|
||||
sprite->setTexture(itemTextures.at(2));
|
||||
sprite->setPos(destRect3);
|
||||
srcRect.x += srcRect.w;
|
||||
srcRect.y = 16 * (((counter + 6) / 36) % 2);
|
||||
sprite->setSpriteClip(srcRect);
|
||||
sprite->render();
|
||||
|
||||
// Time Stopper
|
||||
sprite->setTexture(itemTextures.at(3));
|
||||
sprite->setPos(destRect4);
|
||||
srcRect.x += srcRect.w;
|
||||
srcRect.y = 16 * (((counter + 3) / 36) % 2);
|
||||
sprite->setSpriteClip(srcRect);
|
||||
sprite->render();
|
||||
|
||||
// Coffee
|
||||
sprite->setTexture(itemTextures.at(4));
|
||||
sprite->setPos(destRect5);
|
||||
srcRect.x += (srcRect.w * 2); // Se salta el icono del TNT
|
||||
srcRect.y = 16 * (((counter + 0) / 36) % 2);
|
||||
sprite->setSpriteClip(srcRect);
|
||||
sprite->render();
|
||||
@@ -204,7 +226,10 @@ void Instructions::checkEventHandler()
|
||||
}
|
||||
else
|
||||
{
|
||||
manualQuit = true;
|
||||
if (counter > 30)
|
||||
{
|
||||
manualQuit = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,15 +23,15 @@ class Instructions
|
||||
{
|
||||
private:
|
||||
// Objetos
|
||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||
LTexture *itemTexture; // Textura con los graficos
|
||||
SDL_Event *eventHandler; // Manejador de eventos
|
||||
SDL_Texture *backbuffer; // Textura para usar como backbuffer
|
||||
Sprite *sprite; // Sprite con la textura de las instrucciones
|
||||
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
||||
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
||||
Text *text; // Objeto para escribir texto
|
||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||
std::vector<LTexture *> itemTextures; // Vector con las texturas 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
|
||||
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
||||
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
||||
Text *text; // Objeto para escribir texto
|
||||
|
||||
// Variables
|
||||
Uint16 counter; // Contador
|
||||
|
||||
Reference in New Issue
Block a user