【发布时间】:2017-02-02 14:01:42
【问题描述】:
我是 SDL 的新手,在我的程序的这一部分中,我希望能够更改现有表面的图像。我的问题是,这会自动卸载以前的图像还是我必须使用 SDL_FreeSurface() 然后重新加载表面?我不想最终加载大量不需要加载的图像。视觉解释:
string path = "Image.png";
SDL_Surface* loadedSurface = IMG_Load((path.c_str());
如果我再次对不同的图像使用loadedSurface,原始图像会被卸载吗?
path = "NewImage.png";
loadedSurface = IMG_Load(path.c_str());
或者我每次加载新图像时都必须做这样的事情:
SDL_FreeSurface(loadedSurface);
path = "NewImage.png";
SDL_Surface* loadedSurface = IMG_Load(path.c_str());
这可能没问题,我只是不确定每个循环创建一个新表面是否会比另一种更简单的方法更密集。谢谢!
【问题讨论】:
标签: c++ visual-c++ sdl