如何在SFML中获得纹理的透明度?

时间:2018-12-30 02:03:18

标签: c++ transparency sfml

我很简单地将纹理从文件加载到对象中,我想将其绘制到窗口中,但是我的坦克仍然有黑色背景。

Tank

Transparenty

Not transparenty

我具有黑色背景的纹理,并且已将其删除。我的坦克很紧张,仍然有黑色背景。

sf::Texture text;

text.loadFromFile(path);

window->draw(text);

我想绘制透明纹理。

2 个答案:

答案 0 :(得分:0)

如果将文件加载到sf :: image,则可以创建遮罩。

 Image image;
 image.loadFromFile( "graphics/tanks.png" );
 image.createMaskFromColor( Color::Black, 0 );
 Texture texTank;
 texTank.loadFromImage( image, IntRect( 0, 0, 16, 16 ) );
 Sprite sprTank;
 sprTank.setTexture( texTank );

答案 1 :(得分:0)

我弄错了。我一直在使用其他目录中的图像。