1
我无法找到关于在SDL2纪录片中渲染透明矩形的任何内容。我想将SDL_Rect渲染为透明纹理/表面/任何用作“战争迷雾”的东西。也许你知道用SDL_Rect制作表面或纹理的任何方法,或者只是将其渲染为透明。我不想在游戏文件中添加新纹理,因为玩家可能只是删除文件而不会有战争迷雾。SDL渲染透明矩形使用SDL_Rect
我无法找到关于在SDL2纪录片中渲染透明矩形的任何内容。我想将SDL_Rect渲染为透明纹理/表面/任何用作“战争迷雾”的东西。也许你知道用SDL_Rect制作表面或纹理的任何方法,或者只是将其渲染为透明。我不想在游戏文件中添加新纹理,因为玩家可能只是删除文件而不会有战争迷雾。SDL渲染透明矩形使用SDL_Rect
好吧我是自己,如果做到这一点任何人都会有同样的问题,这就是答案:
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);