我正在制作一个简单的游戏,只是乱搞SDL。我目前有两张图片,我正在练习将它们作为背景。我通过调用RenderCopy来创建一个背景,DestroyTexture从内存中清除它,然后我呈现它。我将文件路径从一个图像更改为另一个图像以更改背景。我运行了该程序,现在新图像分层在另一个之上。如果我手动清理计算机的内存并且它正确呈现,我可以解决这个问题。出于某种原因,SDL没有清除先前调用的图像。在代码中的任何其他地方都没有提到旧图像,并且调用了所有Destroy函数。发生了什么事?
编辑:我做了一点窥探而不是它甚至加载旧图像;无论在运行SDL的任何程序上显示的最终渲染是在它运行之前,它都是背景。它就像电视机将图像刻录到屏幕上;它永远存在。
答案 0 :(得分:0)
通过简单地清除帧之间的帧来解决问题。没有任何性能影响。