From 0d9fd5eea15315f2ffafab719e3b315901216cd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Valor=20Mart=C3=ADnez?= Date: Sat, 5 Nov 2022 07:27:38 +0100 Subject: [PATCH] Trabajando en el ending2 --- source/ending2.cpp | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/source/ending2.cpp b/source/ending2.cpp index 4be8235..a899887 100644 --- a/source/ending2.cpp +++ b/source/ending2.cpp @@ -89,19 +89,19 @@ void Ending2::render() text->write(0, 192 - 8, txt); // Dibuja la cuadricula - { + /*{ SDL_SetRenderDrawColor(renderer, 128, 128, 128, 255); const int sw = maxSpriteWidth + 6; const int sh = maxSpriteHeight + 6; - for (int i = 0; i < (int)sprites.size(); ++i) + for (int i = 0; i < 256; i += sw) { - const int x = (i * sw) % (256 - sw); - const int y = (i / (256 / sw)) * sh; - const int w = sprites.at(i)->getAnimationClip(0, 0).w; - const int h = sprites.at(i)->getAnimationClip(0, 0).h; - sprites.at(i)->setRect({x, y, w, h}); + SDL_RenderDrawLine(renderer, i, 0, i, 192); } - } + for (int i = 0; i < 192; i += sh) + { + SDL_RenderDrawLine(renderer, 0, i, 255, i); + } + }*/ // Vuelca el contenido del renderizador en pantalla screen->blit(); @@ -271,18 +271,19 @@ void Ending2::loadSprites() const int sh = maxSpriteHeight + 6; for (int i = 0; i < (int)sprites.size(); ++i) { - const int x = (i * sw) % (256 - sw); + const int x = (i * sw) % (256 - (256 % sw)); const int y = (i / (256 / sw)) * sh; const int w = sprites.at(i)->getAnimationClip(0, 0).w; const int h = sprites.at(i)->getAnimationClip(0, 0).h; sprites.at(i)->setRect({x, y, w, h}); + sprites.at(i)->setVelY(-0.1f); } } // Actualiza los sprites void Ending2::updateSprites() { - for (auto sprite : sprites) + for (auto &sprite : sprites) { sprite->update(); } @@ -294,8 +295,13 @@ void Ending2::renderSprites() const color_t color = stringToColor(options->palette, "red"); for (auto sprite : sprites) { - sprite->getTexture()->setColor(color.r, color.g, color.b); - sprite->render(); - sprite->getTexture()->setColor(255, 255, 255); + const bool a = sprite->getRect().y + sprite->getRect().h > 5; + const bool b = sprite->getRect().y < 187; + if (a && b) + { + sprite->getTexture()->setColor(color.r, color.g, color.b); + sprite->render(); + sprite->getTexture()->setColor(255, 255, 255); + } } } \ No newline at end of file