我在 SDL2 纪录片中找不到任何有关渲染透明矩形的信息。我想将 SDL_Rect 渲染为透明纹理/表面/任何用作“ war 迷雾”的东西。也许您知道如何从 SDL_Rect 制作表面或纹理,或者只是将其渲染为透明。我不想在游戏文件中添加新纹理,因为玩家只需删除文件就不会出现 war 迷雾。
最佳答案
好吧,我自己做到了,如果其他人有同样的问题,那就是答案:
SDL_Surface* Fog = NULL;
SDL_Texture* gFog = NULL;
Fog = SDL_CreateRGBSurface(0, SCREEN_WIDTH, SCREEN_HEIGHT, 32, 0, 0, 0, 0);
if (Fog == NULL)std::cout << SDL_GetError();
gFog = SDL_CreateTextureFromSurface(gRenderer, Fog);
if (gFog == NULL)std::cout<<SDL_GetError();
SDL_SetTextureBlendMode(gFog, SDL_BLENDMODE_BLEND);
SDL_SetTextureAlphaMod(gFog, 150);
关于c++ - SDL使用SDL_Rect渲染透明矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38932635/