eliminat el vector precalculat en tiled_bg per al moviment circular
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user