Eliminats els últimes defines i passats a enum class

This commit is contained in:
2024-10-20 12:07:55 +02:00
parent 8bca5095da
commit cbc9b3f071
4 changed files with 22 additions and 12 deletions

View File

@@ -9,11 +9,11 @@
#include "texture.h" // for Texture
// Constructor
TiledBG::TiledBG(SDL_Rect pos, int mode)
TiledBG::TiledBG(SDL_Rect pos, TiledBGMode mode)
: renderer_(Screen::get()->getRenderer()),
pos_(pos),
counter_(0),
mode_(mode == TILED_MODE_RANDOM ? rand() % 2 : mode)
mode_(mode == TiledBGMode::RANDOM ? static_cast<TiledBGMode>(rand() % 2) : mode)
{
// Crea la textura para el mosaico de fondo
canvas_ = SDL_CreateTexture(renderer_, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, pos_.w * 2, pos_.h * 2);
@@ -75,16 +75,23 @@ void TiledBG::render()
// Actualiza la lógica de la clase
void TiledBG::update()
{
if (mode_ == TILED_MODE_DIAGONAL)
switch (mode_)
{
case TiledBGMode::DIAGONAL:
{ // El tileado de fondo se desplaza en diagonal
++window_.x %= TILE_WIDTH_;
++window_.y %= TILE_HEIGHT_;
break;
}
else if (mode_ == TILED_MODE_CIRCLE)
case TiledBGMode::CIRCLE:
{ // El tileado de fondo se desplaza en circulo
++counter_ %= 360;
window_.x = 128 + (int(sin_[(counter_ + 270) % 360] * 128));
window_.y = 96 + (int(sin_[(360 - counter_) % 360] * 96));
break;
}
default:
break;
}
}