我在更新循环中使用以下代码
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);
为什么在运行淡入淡出动画时它会闪烁,如果可能的话,解决方案会很好。