c++ - SDL使用SDL_Rect渲染透明矩形

标签 c++ rendering alpha sdl-2

我在 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/

相关文章:

ffmpeg - 带 Alpha channel 的自适应视频编码

android - 在相机预览中不工作 setAlpha

c++ - 我的带内存的动态编程算法有什么问题?

c++ - Log4Cxx sql server appender

c++ - 使用 __typeof 弱自赋值的解释

C++:在不破坏封装的情况下将指针用作私有(private)成员变量?

java - 渲染 3D 第三人称 View

android - 如何使用动画 move 和淡出任何 View

java:如何只选择一个jtable中的一个单元格而不是整行

android - 如何使用 Instagram 的 "TextLayoutView"改进 Android 上的 TextView 渲染