llevat soport per a colors amb nom
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
#include "game/scene_manager.hpp" // Para SceneManager
|
||||
#include "utils/defines.hpp" // Para GameCanvas::CENTER_X, GameCanvas::CENTER_Y
|
||||
#include "utils/delta_timer.hpp" // Para DeltaTimer
|
||||
#include "utils/utils.hpp" // Para PaletteColor, stringToColor
|
||||
#include "utils/utils.hpp"
|
||||
|
||||
// Constructor
|
||||
Ending2::Ending2()
|
||||
@@ -30,12 +30,9 @@ Ending2::Ending2()
|
||||
SceneManager::options = SceneManager::Options::NONE;
|
||||
|
||||
// Inicializa el vector de colores
|
||||
const std::vector<std::string> COLORS = {"white", "yellow", "cyan", "green", "magenta", "red", "blue", "black"};
|
||||
for (const auto& color : COLORS) {
|
||||
colors_.push_back(stringToColor(color));
|
||||
}
|
||||
colors_ = {14, 12, 10, 8, 6, 4, 2, 0};
|
||||
|
||||
Screen::get()->setBorderColor(static_cast<Uint8>(PaletteColor::BLACK)); // Cambia el color del borde
|
||||
Screen::get()->setBorderColor(0); // Cambia el color del borde
|
||||
iniSpriteList(); // Inicializa la lista de sprites
|
||||
loadSprites(); // Carga todos los sprites desde una lista
|
||||
placeSprites(); // Coloca los sprites en su sito
|
||||
@@ -80,7 +77,7 @@ void Ending2::render() {
|
||||
Screen::get()->start();
|
||||
|
||||
// Limpia la pantalla
|
||||
Screen::get()->clearSurface(static_cast<Uint8>(PaletteColor::BLACK));
|
||||
Screen::get()->clearSurface(0);
|
||||
|
||||
// Dibuja los sprites
|
||||
renderSprites();
|
||||
@@ -269,14 +266,14 @@ void Ending2::loadSprites() {
|
||||
for (const auto& file : sprite_list_) {
|
||||
const auto& animation_data = Resource::Cache::get()->getAnimationData(file + ".yaml");
|
||||
sprites_.emplace_back(std::make_shared<DissolveSprite>(animation_data));
|
||||
sprites_.back()->setColorReplace(1, static_cast<Uint8>(PaletteColor::RED));
|
||||
sprites_.back()->setColorReplace(1, 4);
|
||||
sprites_.back()->setProgress(1.0F); // comença invisible
|
||||
sprite_max_width_ = std::max(sprites_.back()->getWidth(), sprite_max_width_);
|
||||
sprite_max_height_ = std::max(sprites_.back()->getHeight(), sprite_max_height_);
|
||||
}
|
||||
|
||||
// El último sprite (player) va en blanco, no en rojo
|
||||
sprites_.back()->setColorReplace(1, static_cast<Uint8>(PaletteColor::WHITE));
|
||||
sprites_.back()->setColorReplace(1, 14);
|
||||
}
|
||||
|
||||
// Actualiza los sprites
|
||||
@@ -428,7 +425,7 @@ void Ending2::createSpriteTexts() { // NOLINT(readability-convert-member-functi
|
||||
// Crea el sprite
|
||||
SDL_FRect pos = {.x = X, .y = Y, .w = W, .h = H};
|
||||
sprite_texts_.emplace_back(std::make_shared<DissolveSprite>(surface, pos));
|
||||
sprite_texts_.back()->setColorReplace(1, static_cast<Uint8>(PaletteColor::WHITE));
|
||||
sprite_texts_.back()->setColorReplace(1, 14);
|
||||
sprite_texts_.back()->setProgress(1.0F); // comença invisible
|
||||
sprite_texts_.back()->setVelY(SPRITE_DESP_SPEED);
|
||||
Screen::get()->setRendererSurface(previuos_renderer);
|
||||
|
||||
Reference in New Issue
Block a user