diff --git a/data/credits/shine.ani b/data/credits/shine.ani new file mode 100644 index 0000000..614409f --- /dev/null +++ b/data/credits/shine.ani @@ -0,0 +1,9 @@ +frameWidth=8 +frameHeight=8 + +[animation] +name=default +speed=6 +loop=-1 +frames=0,1,2,3,4,5,6,7 +[/animation] \ No newline at end of file diff --git a/source/credits.cpp b/source/credits.cpp index 9f42bbb..0934349 100644 --- a/source/credits.cpp +++ b/source/credits.cpp @@ -11,6 +11,8 @@ Credits::Credits(SDL_Renderer *renderer, Screen *screen, Asset *asset) // Reserva memoria para los punteros eventHandler = new SDL_Event(); text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer); + texture = new Texture(renderer, asset->get("shine.png")); + sprite = new AnimatedSprite(texture, renderer, asset->get("shine.ani")); // Inicializa variables counter = 0; @@ -20,6 +22,7 @@ Credits::Credits(SDL_Renderer *renderer, Screen *screen, Asset *asset) section.subsection = 0; ticks = 0; ticksSpeed = 15; + sprite->setRect({21 * 8, 15 * 8, 8, 8}); // Cambia el color del borde screen->setBorderColor(stringToColor("black")); @@ -78,6 +81,9 @@ Credits::~Credits() { delete eventHandler; delete text; + texture->unload(); + delete texture; + delete sprite; SDL_DestroyTexture(textTexture); SDL_DestroyTexture(coverTexture); } @@ -204,6 +210,9 @@ void Credits::update() // Actualiza el contador updateCounter(); + + // Actualiza el sprite con el brillo + sprite->update(); } } @@ -224,6 +233,9 @@ void Credits::render() SDL_Rect rect = {0, offset * 2, 256, 192}; SDL_RenderCopy(renderer, coverTexture, nullptr, &rect); + // Dibuja el sprite con el brillo + sprite->render(); + // text->write(0,0,std::to_string(counter)); // text->write(0,8,std::to_string(counterEnabled)); diff --git a/source/credits.h b/source/credits.h index 00c94a9..0b192b8 100644 --- a/source/credits.h +++ b/source/credits.h @@ -7,6 +7,7 @@ #include "common/screen.h" #include "common/sprite.h" #include "common/text.h" +#include "common/texture.h" #include "common/utils.h" #include "const.h" #include diff --git a/source/director.cpp b/source/director.cpp index 2bb8c53..1eb8fdc 100644 --- a/source/director.cpp +++ b/source/director.cpp @@ -626,6 +626,7 @@ bool Director::setFileList() // Credits asset->add("/data/credits/shine.png", t_bitmap); + asset->add("/data/credits/shine.ani", t_bitmap); return asset->check(); }