2009-02-03 127 views
2

我試圖在SDL [用C++]中設置一些東西,我可以繪製一個像素大的矩形。除了我的第二個名爲矩形的SDL_Surface外,我的代碼中的所有內容都工作正常。我在初始化時遇到問題。這裏就是我嘗試初始化它的行:無法初始化SDL_Surface

rectangle = SDL_Surface(SDL_DOUBLEBUF | SDL_HWACCEL | 
         SDL_SRCALPHA | SDL_HWSURFACE, 
         screen->format, 1, 1, 16, NULL, clip_rect, 1); 

感謝您在百忙之中閱讀這一點,你可能會選擇給任何答案的時間。

+0

「無法初始化它」是什麼意思?它不起作用?你遇到某種錯誤? – 2009-02-03 20:50:22

回答

4

我認爲你遇到的主要問題是沒有SDL_Surface函數。要創建新曲面,請使用SDL_CreateRGBSurface。完成後請務必在返回的表面上撥打SDL_FreeSurface,否則會泄漏內存。

此外,我不知道爲什麼你要爲矩形創建表面。繪製純色矩形的更簡潔的方式是SDL_FillRect而不創建新的曲面。

+0

是的,這工作。非常感謝你。 – William 2009-02-03 22:48:45