我正在尝试在SDL [在C ++中]设置一些东西,我可以绘制一个像素的大矩形。我的代码中的所有内容都工作,除了我的第二个SDL_Surface叫做矩形。我在初始化时遇到了麻烦。这是我尝试初始化它的行:
rectangle = SDL_Surface(SDL_DOUBLEBUF | SDL_HWACCEL |
SDL_SRCALPHA | SDL_HWSURFACE,
screen->format, 1, 1, 16, NULL, clip_rect, 1);
感谢您抽出宝贵时间阅读本文以及您可能选择的任何答案。
答案 0 :(得分:4)
我认为您遇到的主要问题是没有SDL_Surface
功能。要创建新曲面,请使用SDL_CreateRGBSurface
。完成后,请务必在返回的表面上调用SDL_FreeSurface
,否则会泄漏内存。
此外,我不确定为什么要为矩形创建曲面。绘制纯色矩形的更简洁方法是SDL_FillRect
,而不创建新曲面。