añadidos fade-ins a las secciones
This commit is contained in:
@@ -13,10 +13,11 @@ Instructions::Instructions(SDL_Renderer *renderer, Screen *screen, Asset *asset,
|
||||
this->param = param;
|
||||
this->section = section;
|
||||
|
||||
// Creao objetos
|
||||
// Crea objetos
|
||||
eventHandler = new SDL_Event();
|
||||
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
|
||||
tiledbg = new Tiledbg(renderer, screen, asset, {0, 0, param->gameWidth, param->gameHeight}, TILED_MODE_STATIC);
|
||||
fade = new Fade(renderer, param);
|
||||
|
||||
// Crea un backbuffer para el renderizador
|
||||
backbuffer = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param->gameWidth, param->gameHeight);
|
||||
@@ -35,6 +36,13 @@ Instructions::Instructions(SDL_Renderer *renderer, Screen *screen, Asset *asset,
|
||||
view = {0, 0, param->gameWidth, param->gameHeight};
|
||||
spritePos = {0, 0};
|
||||
|
||||
// Inicializa objetos
|
||||
fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b);
|
||||
fade->setType(FADE_FULLSCREEN);
|
||||
fade->setPost(param->fadePostDuration);
|
||||
fade->setMode(FADE_IN);
|
||||
fade->activate();
|
||||
|
||||
// Rellena la textura de texto
|
||||
fillTexture();
|
||||
|
||||
@@ -61,6 +69,7 @@ Instructions::~Instructions()
|
||||
delete eventHandler;
|
||||
delete text;
|
||||
delete tiledbg;
|
||||
delete fade;
|
||||
|
||||
SDL_DestroyTexture(backbuffer);
|
||||
SDL_DestroyTexture(texture);
|
||||
@@ -233,6 +242,8 @@ void Instructions::update()
|
||||
// Actualiza el mosaico de fondo
|
||||
tiledbg->update();
|
||||
|
||||
fade->update();
|
||||
|
||||
if (counter == counterEnd)
|
||||
{
|
||||
section->name = SECTION_PROG_TITLE;
|
||||
@@ -262,6 +273,8 @@ void Instructions::render()
|
||||
// Copia la textura y el backbuffer al renderizador
|
||||
SDL_RenderCopy(renderer, backbuffer, nullptr, &view);
|
||||
|
||||
fade->render();
|
||||
|
||||
// Vuelca el contenido del renderizador en pantalla
|
||||
screen->blit();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user