Eliminats els últimes defines i passats a enum class
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user