2016-08-13 182 views
1

我無法找到關於在SDL2紀錄片中渲染透明矩形的任何內容。我想將SDL_Rect渲染爲透明紋理/表面/任何用作「戰爭迷霧」的東西。也許你知道用SDL_Rect製作表面或紋理的任何方法,或者只是將其渲染爲透明。我不想在遊戲文件中添加新紋理,因爲玩家可能只是刪除文件而不會有戰爭迷霧。SDL渲染透明矩形使用SDL_Rect

回答

2

好吧我是自己,如果做到這一點任何人都會有同樣的問題,這就是答案:

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);