使用SFML平铺图像

时间:2014-02-01 20:09:54

标签: c++ textures sprite sfml repeat

我有一个背景图片,当我的窗口是800 x 600时它只有256 x 256.我不知道如何让图像在整个窗口重复出现。我目前正在加载图片:

sf::Texture Bkg;
if(!Bkg.loadFromFile("darkPurple.png"))
{
    return -1;
}

sf::Sprite Sprite;
Sprite.setTexture(Bkg);

以后用:

画出来
window.draw(Bkg);

我试图使用:

texture.setRepeated(true);

但这似乎没有帮助。

谢谢!

1 个答案:

答案 0 :(得分:6)

加载图片后,您需要调用setReapeted:

    texture.setRepeated(true);

然后,在精灵中加载纹理时,将纹理矩形设置为您的屏幕大小:

    sprite.setTexture(texture);
    sprite.setTextureRect(sf::IntRect(0,0,800,600);