【问题标题】:SDL Rendering transparent rectangle using SDL_RectSDL 使用 SDL_Rect 渲染透明矩形
【发布时间】:2016-08-13 12:16:29
【问题描述】:

我找不到关于在 SDL2 纪录片中渲染透明矩形的任何信息。我想将 SDL_Rect 渲染为透明纹理/表面/任何用作“战争迷雾”的东西。也许您知道从 SDL_Rect 制作表面或纹理的任何方法,或者只是将其渲染为透明。我不想在游戏文件中添加新纹理,因为玩家可以直接删除文件,而他不会有那种战争迷雾。

【问题讨论】:

    标签: c++ rendering alpha sdl-2


    【解决方案1】:

    好的,我自己做到了,如果其他人有同样的问题,那就是答案:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-16
      • 2014-12-01
      • 1970-01-01
      • 2014-08-07
      • 1970-01-01
      • 1970-01-01
      • 2010-11-21
      • 2018-01-27
      相关资源
      最近更新 更多