初始化SDL_Surface时遇到问题

时间:2009-02-03 20:47:21

标签: c++ initialization sdl rectangles

我正在尝试在SDL [在C ++中]设置一些东西,我可以绘制一个像素的大矩形。我的代码中的所有内容都工作,除了我的第二个SDL_Surface叫做矩形。我在初始化时遇到了麻烦。这是我尝试初始化它的行:

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

感谢您抽出宝贵时间阅读本文以及您可能选择的任何答案。

1 个答案:

答案 0 :(得分:4)

我认为您遇到的主要问题是没有SDL_Surface功能。要创建新曲面,请使用SDL_CreateRGBSurface。完成后,请务必在返回的表面上调用SDL_FreeSurface,否则会泄漏内存。

此外,我不确定为什么要为矩形创建曲面。绘制纯色矩形的更简洁方法是SDL_FillRect,而不创建新曲面。