如何在调用SDL_RenderPresent后清除渲染器?

时间:2016-08-31 08:12:52

标签: sdl-2

我为渲染器创建了一个纹理,在调用SDL_RenderPresent几秒后,我想在屏幕上清除它? 我使用SDL_RenderClear,但没有用。

            SDL_RenderPresent(renderer);
            SDL_Delay(5000);
            SDL_RenderClear(renderer);

1 个答案:

答案 0 :(得分:2)

SDL_RenderPresent()更新屏幕,您需要在SDL_RenderClear()电话后再次拨打电话。

取自the remarks section

  

SDL的渲染功能在后备缓冲区上运行;就是说,打电话给   渲染函数如SDL_RenderDrawLine()不直接放   屏幕上有一条线,而是更新后备缓冲区。就这样,你   谱写你的整个场景并将合成的后台缓冲区呈现给   屏幕作为完整的图片。

您所做的SDL_RenderClear()调用是在该后台缓冲区上运行。