2009-02-03 131 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