我正在尝试从多个纹理创建纹理,但似乎我在设置透明度时遇到了问题:
SDL_Texture *backgr = SDL_CreateTexture(render,
SDL_PIXELFORMAT_RGBA8888,
SDL_TEXTUREACCESS_TARGET,
width,
height);`<br/>
//After this line, the texture is rendered black
SDL_SetAlphaMod(backgr, 0);
有什么想法吗?
答案 0 :(得分:1)
根据SDL2的迁移指南,您不应将SDL_SetAlphaMod
与SDL2一起使用,而应将SDL_SetTextureAlphaMod(或SDL_SetSurfaceAlphaMod
用于曲面)。如果您需要有关如何使用它的示例,请查看tutorial by Lazy Foo。
答案 1 :(得分:1)
您还需要设置混合模式以启用Alpha混合。
SDL_SetTextureBlendMode( backgr , SDL_BLENDMODE_BLEND );