Я использую следующий код в моем цикле обновления
if (!flip){
if (alpha > 0){
alpha -= Ticks;
}
else{
Ticks = 0;
flip = true;
}
}
else{
if (alpha < 255){
alpha += Ticks;
}
else{
if (transition == 1){
screenManager->ChangeState(new Menu(render));
}
Ticks = 0;
alpha = 255;
transition = 1;
flip = false;
}
}
и вот мой код розыгрыша
if (transition == 0){
background->Draw(&screen);
}
else{
background2->Draw(&screen);
}SDL_SetRenderDrawColor(render, 0, 0, 0, alpha);
SDL_RenderFillRect(render, &dstrect);
Почему он мигает при запуске затухания в анимации и, если возможно, решение было бы неплохо.
Исправлена проблема, и для тех, кто хочет знать, это было связано с тем, что альфа стала ниже 0 и выше 255, потому что я добавлял двойное число.