我有一个瓦片 map 阵列 [50][50]。
当我单击鼠标移动该阵列中每个图块的 x 和 y 时,我看到每个图块之间有空白 - 我相信这称为“撕裂”,这是不希望的。
我在谷歌上搜索了双缓冲并阅读了维基,http://en.wikipedia.org/wiki/Multiple_buffering#Double_buffering_in_computer_graphics .
它是如何在 SDL2 中完成的,特别是使用从“for 循环”创建的大型平铺数组?
...我怀疑您将平铺纹理复制到缓冲区纹理上,并在完全加载后将其复制到渲染器 - 尽管我无法使其正常工作,但很想看到一个完整的工作示例!
这是我以前的帖子,其中包含当前的代码:
SDL2 double buffer not working, still tearing
最佳答案
SDL2 自动为您处理双缓冲:
SDL_RenderClear
将清除当前的渲染缓冲区。 SDL_RenderCopy
将渲染纹理到当前渲染缓冲区。 SDL_RenderPresent
将交换缓冲区,显示使用 SDL_RenderCopy
渲染的所有内容自上次 SDL_RenderClear
称呼。 关于sdl-2 - 如何在 SDL 2.0 中进行双缓冲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28341281/