Trabajando en el ending2

This commit is contained in:
2022-11-05 07:27:38 +01:00
parent 0b55d8558f
commit 0d9fd5eea1

View File

@@ -89,19 +89,19 @@ void Ending2::render()
text->write(0, 192 - 8, txt); text->write(0, 192 - 8, txt);
// Dibuja la cuadricula // Dibuja la cuadricula
{ /*{
SDL_SetRenderDrawColor(renderer, 128, 128, 128, 255); SDL_SetRenderDrawColor(renderer, 128, 128, 128, 255);
const int sw = maxSpriteWidth + 6; const int sw = maxSpriteWidth + 6;
const int sh = maxSpriteHeight + 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); SDL_RenderDrawLine(renderer, i, 0, i, 192);
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});
} }
} for (int i = 0; i < 192; i += sh)
{
SDL_RenderDrawLine(renderer, 0, i, 255, i);
}
}*/
// Vuelca el contenido del renderizador en pantalla // Vuelca el contenido del renderizador en pantalla
screen->blit(); screen->blit();
@@ -271,18 +271,19 @@ void Ending2::loadSprites()
const int sh = maxSpriteHeight + 6; const int sh = maxSpriteHeight + 6;
for (int i = 0; i < (int)sprites.size(); ++i) 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 y = (i / (256 / sw)) * sh;
const int w = sprites.at(i)->getAnimationClip(0, 0).w; const int w = sprites.at(i)->getAnimationClip(0, 0).w;
const int h = sprites.at(i)->getAnimationClip(0, 0).h; const int h = sprites.at(i)->getAnimationClip(0, 0).h;
sprites.at(i)->setRect({x, y, w, h}); sprites.at(i)->setRect({x, y, w, h});
sprites.at(i)->setVelY(-0.1f);
} }
} }
// Actualiza los sprites // Actualiza los sprites
void Ending2::updateSprites() void Ending2::updateSprites()
{ {
for (auto sprite : sprites) for (auto &sprite : sprites)
{ {
sprite->update(); sprite->update();
} }
@@ -294,8 +295,13 @@ void Ending2::renderSprites()
const color_t color = stringToColor(options->palette, "red"); const color_t color = stringToColor(options->palette, "red");
for (auto sprite : sprites) for (auto sprite : sprites)
{ {
sprite->getTexture()->setColor(color.r, color.g, color.b); const bool a = sprite->getRect().y + sprite->getRect().h > 5;
sprite->render(); const bool b = sprite->getRect().y < 187;
sprite->getTexture()->setColor(255, 255, 255); if (a && b)
{
sprite->getTexture()->setColor(color.r, color.g, color.b);
sprite->render();
sprite->getTexture()->setColor(255, 255, 255);
}
} }
} }