使用SDL_Rect渲染透明矩形
SDL Rendering transparent rectangle using SDL_Rect
我在SDL2纪录片中找不到任何关于渲染透明矩形的内容。我想将SDL_Rect渲染为透明纹理/表面/任何用作"战争迷雾"的东西。也许你知道任何从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);
相关文章:
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- Mix_Init和Mix_OpenAudio SDL之间的区别是什么
- 如何在全屏模式下(在OpenGL中)使背景透明
- SDL 窗口不会弹出
- 当使用透明的std函数对象时,我们还需要写空的尖括号吗
- SDL 操纵杆按钮按下/C++
- VSCode IntelliSense无法识别SDL框架的SDL_image扩展库
- dx11 渲染到纹理仅显示透明颜色
- SDL2 透明背景
- C++/SDL "initial value of reference to a non-const must be an lvalue"
- SDL 映像:无法打开映像,仅显示错误消息
- SDL 纹理透明背景
- 转换透明pngs会破坏SDL/ONGL
- SDL透明覆盖
- 如何将SDL TTF表面转换为具有透明背景的GL纹理
- SDL:使现有表面透明/删除所有像素数据
- SDL rendertextshade透明背景
- c++半透明窗口SDL
- SDL OpenGL窗口不响应,透明
- SDL透明精灵方块