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