Fet el fade out del title de video i audio i el fade in del joc de video i audio
Actualitzat jail_audio a la última versió
This commit is contained in:
@@ -123,7 +123,6 @@ void Fade::update()
|
||||
// Dibuja sobre el backbuffer_
|
||||
auto temp = SDL_GetRenderTarget(renderer_);
|
||||
SDL_SetRenderTarget(renderer_, backbuffer_);
|
||||
|
||||
SDL_SetRenderDrawBlendMode(renderer_, SDL_BLENDMODE_NONE);
|
||||
SDL_SetRenderDrawColor(renderer_, r_, g_, b_, a_);
|
||||
|
||||
@@ -135,8 +134,6 @@ void Fade::update()
|
||||
SDL_RenderFillRect(renderer_, &square_[index2]);
|
||||
}
|
||||
|
||||
SDL_SetRenderDrawBlendMode(renderer_, SDL_BLENDMODE_BLEND);
|
||||
|
||||
// Deja el renderizador como estaba
|
||||
SDL_SetRenderTarget(renderer_, temp);
|
||||
}
|
||||
@@ -160,9 +157,11 @@ void Fade::update()
|
||||
// Dibuja sobre el backbuffer_
|
||||
auto temp = SDL_GetRenderTarget(renderer_);
|
||||
SDL_SetRenderTarget(renderer_, backbuffer_);
|
||||
|
||||
SDL_SetRenderDrawBlendMode(renderer_, SDL_BLENDMODE_NONE);
|
||||
SDL_SetRenderDrawColor(renderer_, r_, g_, b_, a_);
|
||||
for (auto rect : square_)
|
||||
|
||||
// Dibuja el cuadrado correspondiente
|
||||
for (const auto rect : square_)
|
||||
{
|
||||
SDL_RenderFillRect(renderer_, &rect);
|
||||
}
|
||||
@@ -170,11 +169,12 @@ void Fade::update()
|
||||
// Deja el renderizador como estaba
|
||||
SDL_SetRenderTarget(renderer_, temp);
|
||||
|
||||
const auto h = counter_ / 3;
|
||||
for (int i = 0; i < (int)square_.size(); ++i)
|
||||
// Modifica el tamaño de los rectangulos
|
||||
const auto h = counter_ / 2;
|
||||
for (size_t i = 0; i < square_.size(); ++i)
|
||||
{
|
||||
// A partir del segundo rectangulo se pinta en función del anterior
|
||||
square_[i].h = i == 0 ? h : std::max(square_[i - 1].h - 3, 0);
|
||||
square_.at(i).h = i == 0 ? h : std::max(square_.at(i - 1).h - 2, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -255,12 +255,8 @@ void Fade::activate()
|
||||
}
|
||||
|
||||
// Limpia la textura
|
||||
auto temp = SDL_GetRenderTarget(renderer_);
|
||||
SDL_SetRenderTarget(renderer_, backbuffer_);
|
||||
a_ = mode_ == FadeMode::OUT ? 0 : 255;
|
||||
SDL_SetRenderDrawColor(renderer_, r_, g_, b_, a_);
|
||||
SDL_RenderClear(renderer_);
|
||||
SDL_SetRenderTarget(renderer_, temp);
|
||||
cleanBackbuffer(r_, g_, b_, a_);
|
||||
|
||||
// Deja el color listo para usar
|
||||
a_ = mode_ == FadeMode::OUT ? 255 : 0;
|
||||
@@ -270,12 +266,16 @@ void Fade::activate()
|
||||
|
||||
case FadeType::VENETIAN:
|
||||
{
|
||||
cleanBackbuffer(0, 0, 0, 0);
|
||||
rect1_ = {0, 0, param.game.width, 0};
|
||||
square_.clear();
|
||||
a_ = 255;
|
||||
// Limpia la textura
|
||||
a_ = mode_ == FadeMode::OUT ? 0 : 255;
|
||||
cleanBackbuffer(r_, g_, b_, a_);
|
||||
|
||||
// Deja el color listo para usar
|
||||
a_ = mode_ == FadeMode::OUT ? 255 : 0;
|
||||
|
||||
// Añade los cuadrados al vector
|
||||
square_.clear();
|
||||
rect1_ = {0, 0, param.game.width, 0};
|
||||
const int max = param.game.height / param.fade.venetian_size;
|
||||
|
||||
for (int i = 0; i < max; ++i)
|
||||
@@ -289,31 +289,6 @@ void Fade::activate()
|
||||
}
|
||||
}
|
||||
|
||||
// Comprueba si está activo
|
||||
bool Fade::isEnabled() const
|
||||
{
|
||||
return enabled_;
|
||||
}
|
||||
|
||||
// Comprueba si ha terminado la transicion
|
||||
bool Fade::hasEnded() const
|
||||
{
|
||||
// Ha terminado cuando ha finalizado la transición y se ha deshabilitado
|
||||
return !enabled_ && finished_;
|
||||
}
|
||||
|
||||
// Establece el tipo de fade
|
||||
void Fade::setType(FadeType type)
|
||||
{
|
||||
type_ = type;
|
||||
}
|
||||
|
||||
// Establece el modo de fade
|
||||
void Fade::setMode(FadeMode mode)
|
||||
{
|
||||
mode_ = mode;
|
||||
}
|
||||
|
||||
// Establece el color del fade
|
||||
void Fade::setColor(Uint8 r, Uint8 g, Uint8 b)
|
||||
{
|
||||
@@ -322,12 +297,6 @@ void Fade::setColor(Uint8 r, Uint8 g, Uint8 b)
|
||||
b_ = b;
|
||||
}
|
||||
|
||||
// Establece la duración posterior
|
||||
void Fade::setPost(int value)
|
||||
{
|
||||
post_duration_ = value;
|
||||
}
|
||||
|
||||
// Limpia el backbuffer
|
||||
void Fade::cleanBackbuffer(Uint8 r, Uint8 g, Uint8 b, Uint8 a)
|
||||
{
|
||||
@@ -347,6 +316,8 @@ void Fade::cleanBackbuffer(Uint8 r, Uint8 g, Uint8 b, Uint8 a)
|
||||
int Fade::calculateValue(int min, int max, int current)
|
||||
{
|
||||
if (max == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return std::clamp(current * 100 / max, 0, 100);
|
||||
}
|
||||
Reference in New Issue
Block a user