我想写自己的游戏,我从SFML库开始。现在我有一个小问题:我怎么能做这样的事情:我有一个背景精灵和玩家的精灵。但玩家的形象不是矩形,它更复杂。当我在另一个(同一个位置)上放置一个精灵时,我会在玩家的矩形中变成一些空白区域。我应该写什么来放置背景而不是空白?
提前致谢
答案 0 :(得分:0)
您有2个选项。
正如@nvoigt在评论中所述,您只需使用具有Alpha通道的图像格式(如PNG)。然后在图像编辑器中手动制作所需的每个部分。
您可以使用sf::Image::createMaskFromColor
方法。您只需指定一个显示为透明的颜色。
如果你走createMaskFromColor
的路线,这是一个片段:
sf::Image image;
image.LoadFromFile("yourImage.bmp");
image.CreateMaskFromColor(sf::Color(0,255,255)); // for example, Cyan
// if you need that image into a texture
sf::Texture texture;
texture.LoadFromImage(image);
// to use sprite
sf::Sprite sprite;
sprite.SetTexture(texture);