我之前在 SDL 中发布了一个问题,抱怨我的函数总是返回 null。我得到了我的问题的答案,它肯定解决了一些问题,但不是所有问题。这是帖子:平铺系统 C++ SDL
我在我的文件中添加了以下内容map.cpp
:
//Make a temporary map to draw the tiles to
Uint32 rmask, gmask, bmask, amask;
if ( SDL_BYTEORDER == SDL_BIG_ENDIAN ) {
rmask = 0xff000000;
gmask = 0x00ff0000;
bmask = 0x0000ff00;
amask = 0x000000ff;
}
else {
rmask = 0x000000ff;
gmask = 0x0000ff00;
bmask = 0x00ff0000;
amask = 0xff000000;
}
SDL_Surface* temp_map = SDL_CreateRGBSurface(SDL_SWSURFACE, MAP_WIDTH, MAP_HEIGHT, 32, rmask, gmask, bmask, amask);
尽管图像不再返回 null,但我的函数仍然根本不会将图块打印到图像上。图像保持完全透明。