Añadiendo la clase asset

This commit is contained in:
2022-09-26 10:17:54 +02:00
parent 25616e1e6c
commit 9e089e9092
18 changed files with 1190 additions and 622 deletions

View File

@@ -1,25 +1,29 @@
#include "intro.h"
// Constructor
Intro::Intro(SDL_Renderer *renderer, Screen *screen, std::string *fileList, Lang *lang)
Intro::Intro(SDL_Renderer *renderer, Screen *screen, Asset *mAsset, Lang *lang)
{
// Copia los punteros
mRenderer = renderer;
mScreen = screen;
mFileList = fileList;
mLang = lang;
this->mAsset = mAsset;
// Reserva memoria para los punteros
mEventHandler = new SDL_Event();
mBitmapTexture = new LTexture(mRenderer);
mTextTexture = new LTexture(mRenderer);
mText = new Text(mFileList[52], mTextTexture, mRenderer);
mText = new Text(mAsset->get("nokia.txt"), mTextTexture, mRenderer);
for (int i = 0; i < INTRO_TOTAL_BITMAPS; i++)
{
mBitmap[i] = new SmartSprite();
}
for (int i = 0; i < INTRO_TOTAL_TEXTS; i++)
{
mWriter[i] = new Writer(mText);
}
}
// Destructor
@@ -27,7 +31,7 @@ Intro::~Intro()
{
mRenderer = nullptr;
mScreen = nullptr;
mFileList = nullptr;
mAsset = nullptr;
mLang = nullptr;
delete mEventHandler;
@@ -192,11 +196,11 @@ bool Intro::loadMedia()
bool success = true;
// Texturas
success &= loadTextureFromFile(mBitmapTexture, mFileList[33], mRenderer);
success &= loadTextureFromFile(mTextTexture, mFileList[28], mRenderer);
success &= loadTextureFromFile(mBitmapTexture, mAsset->get("intro.png"), mRenderer);
success &= loadTextureFromFile(mTextTexture, mAsset->get("nokia.png"), mRenderer);
// Musicas
mMusic = JA_LoadMusic(mFileList[3].c_str());
mMusic = JA_LoadMusic(mAsset->get("intro.ogg").c_str());
return success;
}
@@ -208,7 +212,9 @@ section_t Intro::run()
// Si la música no está sonando la hace sonar
if ((JA_GetMusicState() == JA_MUSIC_INVALID) || (JA_GetMusicState() == JA_MUSIC_STOPPED))
{
JA_PlayMusic(mMusic, 0);
}
while (mSection.name == PROG_SECTION_INTRO)
{
@@ -237,9 +243,13 @@ section_t Intro::run()
// Actualiza los objetos
for (int i = 0; i < INTRO_TOTAL_BITMAPS; i++)
{
mBitmap[i]->update();
}
for (int i = 0; i < INTRO_TOTAL_TEXTS; i++)
{
mWriter[i]->update();
}
// Guión de eventos
// Primera imagen - UPV
@@ -361,10 +371,14 @@ section_t Intro::run()
mScreen->clean(bgColor);
// Dibuja los objetos
for (int i = 0; i < INTRO_TOTAL_BITMAPS; i++)
for (int i = 0; i < INTRO_TOTAL_BITMAPS; ++i)
{
mBitmap[i]->render();
for (int i = 0; i < INTRO_TOTAL_TEXTS; i++)
}
for (int i = 0; i < INTRO_TOTAL_TEXTS; ++i)
{
mWriter[i]->render();
}
// Vuelca el contenido del renderizador en pantalla
mScreen->blit();