eliminat el vector precalculat en tiled_bg per al moviment circular
This commit is contained in:
@@ -27,8 +27,8 @@ class Background {
|
||||
using ProgressCallback = std::function<void(float)>; // Callback para sincronización
|
||||
|
||||
// --- Constructor y destructor ---
|
||||
Background(float total_progress_to_complete); // Constructor principal
|
||||
~Background(); // Destructor
|
||||
Background(float total_progress_to_complete = 6100.0F); // Constructor principal
|
||||
~Background(); // Destructor
|
||||
|
||||
// --- Métodos principales ---
|
||||
void update(float delta_time); // Actualiza la lógica del objeto
|
||||
|
||||
@@ -40,10 +40,6 @@ TiledBG::TiledBG(SDL_FRect pos, TiledBGMode mode)
|
||||
break;
|
||||
}
|
||||
|
||||
// Inicializa los valores del vector con los valores del seno
|
||||
for (int i = 0; i < 360; ++i) {
|
||||
sin_[i] = std::sin(i * std::numbers::pi / 180.0); // Convierte grados a radianes y calcula el seno
|
||||
}
|
||||
}
|
||||
|
||||
// Destructor
|
||||
@@ -97,10 +93,10 @@ void TiledBG::update(float delta_time) {
|
||||
}
|
||||
case TiledBGMode::CIRCLE: {
|
||||
// El tileado de fondo se desplaza en circulo
|
||||
const int INDEX = static_cast<int>(desp_) % 360;
|
||||
const float angle_rad = (desp_ * std::numbers::pi / 180.0F);
|
||||
|
||||
window_.x = 128 + (static_cast<int>(sin_[(INDEX + 270) % 360] * 128));
|
||||
window_.y = 128 + (static_cast<int>(sin_[(360 - INDEX) % 360] * 96));
|
||||
window_.x = 128 + static_cast<int>(std::cos(angle_rad) * 128);
|
||||
window_.y = 128 + static_cast<int>(std::sin(-angle_rad) * 96);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
#include <SDL3/SDL.h> // Para SDL_FRect, SDL_SetTextureColorMod, SDL_Renderer, SDL_Texture
|
||||
|
||||
#include <array> // Para array
|
||||
|
||||
#include "color.h" // Para Color
|
||||
|
||||
@@ -53,7 +52,6 @@ class TiledBG {
|
||||
SDL_FRect pos_; // Posición y tamaño del mosaico
|
||||
SDL_FRect window_; // Ventana visible para la textura de fondo del título
|
||||
TiledBGMode mode_; // Tipo de movimiento del mosaico
|
||||
std::array<double, 360> sin_; // Vector con los valores del seno precalculados
|
||||
float desp_ = 0.0F; // Desplazamiento aplicado
|
||||
float speed_ = 1.0F; // Incremento que se añade al desplazamiento a cada bucle
|
||||
bool stopping_ = false; // Indica si se está deteniendo
|
||||
|
||||
Reference in New Issue
Block a user