0

我正在制作一个简单的游戏,只是在搞乱 SDL。我目前有两张图片,我正在练习将它们作为背景。我通过调用 RenderCopy、DestroyTexture 将其从内存中清除,然后将其呈现为背景。我将文件路径从一个图像更改为另一个图像以更改背景。我运行了程序,现在新图像叠加在另一个图像之上。如果我手动清理我的计算机内存,我可以解决这个问题,并且它可以正确呈现。出于某种原因,SDL 没有清除之前调用的图像。代码中的其他任何地方都没有提及旧图像,并且调用了所有 Destroy 函数。到底是怎么回事?

编辑:我做了一些窥探,它甚至没有加载旧图像;无论运行 SDL 的任何程序在运行之前显示的最终渲染是什么,它都将是背景。从字面上看,它就像电视将图像刻录到屏幕上一样;它总是在那里。

4

1 回答 1

0

只需清除帧之间的帧即可解决此问题。没有任何性能影响。

于 2015-05-11T20:48:55.570 回答