我一直在研究SDL中的项目,并且将问题缩小为表面为NULL。表面初始化如下:
boardSurface = SDL_CreateRGBSurface(0, 780, 480, NULL, 0, 0, 0, 0);
if (boardSurface == NULL)
{
std::cout << "SURFACE ERROR " << SDL_GetError() << std::endl;
}
打印“ SURFACE ERROR Unknown pixel format”。我假设它指的是SDL_CreateRGBSurface函数中的最后四个参数,但我不知道可能会导致什么。Google一直无济于事。所以我转向你。
第四个参数depth
不能为NULL。尝试将其更改为32。
该函数声明为:
SDL_Surface* SDL_CreateRGBSurface(Uint32 flags,
int width,
int height,
int depth,
Uint32 Rmask,
Uint32 Gmask,
Uint32 Bmask,
Uint32 Amask)
请参阅SDL 2.0文档:https : //wiki.libsdl.org/SDL_CreateRGBSurface
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句