我为渲染器创建了一个纹理,在调用SDL_RenderPresent几秒后,我想在屏幕上清除它? 我使用SDL_RenderClear,但没有用。
SDL_RenderPresent(renderer);
SDL_Delay(5000);
SDL_RenderClear(renderer);
答案 0 :(得分:2)
SDL_RenderPresent()
更新屏幕,您需要在SDL_RenderClear()
电话后再次拨打电话。
SDL的渲染功能在后备缓冲区上运行;就是说,打电话给 渲染函数如SDL_RenderDrawLine()不直接放 屏幕上有一条线,而是更新后备缓冲区。就这样,你 谱写你的整个场景并将合成的后台缓冲区呈现给 屏幕作为完整的图片。
您所做的SDL_RenderClear()
调用是在该后台缓冲区上运行。