Trabajando en integrar la clase screen

This commit is contained in:
2021-09-10 23:04:52 +02:00
parent b28d798545
commit 3fe0861e4f
15 changed files with 240 additions and 81 deletions

View File

@@ -4,16 +4,15 @@
#include <dirent.h>
#endif
# define INIT_FADE 100
# define END_LOGO 200
#define INIT_FADE 100
#define END_LOGO 200
// Constructor
Logo::Logo(SDL_Renderer *renderer, std::string *fileList)
Logo::Logo(SDL_Renderer *renderer, Screen *screen, std::string *fileList)
{
// Copia la dirección del renderizador
// Copia la dirección de los objetos
mRenderer = renderer;
// Copia la dirección del la lista de ficheros
mScreen = screen;
mFileList = fileList;
// Reserva memoria para los punteros
@@ -30,6 +29,10 @@ Logo::Logo(SDL_Renderer *renderer, std::string *fileList)
// Destructor
Logo::~Logo()
{
mRenderer = nullptr;
mScreen = nullptr;
mFileList = nullptr;
mTexture->unload();
delete mTexture;
mTexture = nullptr;
@@ -97,8 +100,14 @@ section_t Logo::run()
}
// Limpia el destino
SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
SDL_RenderClear(mRenderer);
//SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
//SDL_RenderClear(mRenderer);
// Prepara para empezar a dibujar en la textura de juego
mScreen->start();
// Limpia la pantalla
mScreen->clean(bgColor);
// Dibuja los objetos
mSprite->render();
@@ -115,7 +124,10 @@ section_t Logo::run()
}
// Actualiza la pantalla
SDL_RenderPresent(mRenderer);
//SDL_RenderPresent(mRenderer);
// Vuelca el contenido del renderizador en pantalla
mScreen->blit();
// Comprueba si ha terminado el logo
if (SDL_GetTicks() - mTicks > mTicksSpeed)