我正在尝试在 SDL [C++] 中设置一些东西,我可以在其中绘制一个一像素大的矩形。除了名为矩形的第二个 SDL_Surface 之外,我的代码中的所有内容均已正常工作。我在初始化它时遇到问题。这是我尝试初始化它的行:
rectangle = SDL_Surface(SDL_DOUBLEBUF | SDL_HWACCEL |
SDL_SRCALPHA | SDL_HWSURFACE,
screen->format, 1, 1, 16, NULL, clip_rect, 1);
感谢您花时间阅读本文以及您可能选择给出的任何答案。
最佳答案
我认为您遇到的主要问题是没有 SDL_Surface
函数。要创建新表面,请使用 SDL_CreateRGBSurface
。使用完后,请务必在返回的表面上调用 SDL_FreeSurface
,否则会泄漏内存。
此外,我不确定您为什么要为矩形创建表面。绘制纯色矩形的更简洁的方法是 SDL_FillRect
无需创建新的表面。
关于c++ - 初始化 SDL_Surface 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/508844/