0
我是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());
這可能是正常的,我只是不知道,如果創建一個新的表面每一個循環將比另一個更簡單的方法更密集。謝謝!
好的,這是有道理的。謝謝你的回答和你的時間。 –