【发布时间】:2016-04-14 06:48:22
【问题描述】:
我是 SFML 的新手,我正在尝试创建一个加载栏,它可以增加和减少加载值。最初,该值从 0 开始,增加到 100,然后在无限做同样的事情时再次减少到 0。
我正在尝试使用加载图像的纹理来执行此操作,如下所示。
图像为 410 x 130,我计划在每个时间步显示 12.5% 的图像,并在显示整个图像时切割 12.5% 的图像。我正在做这样的事情:
sf::RectangleShape powerBar;
sf::Texture texture;
if (!texture.loadFromFile("Power Bar.png"))
{
std::cout<<"Unable to load texture";
}
powerBar.setPosition(powerBarPos);
powerBar.setTexture(&texture);
powerBar.setTextureRect(sf::IntRect(0, 0, 41, 13));
但是,我无法得到我想要的结果,因为要么显示了整个图像,要么显示了图像的一部分以错误的比例。
我想知道有什么方法可以解决我的意图吗?谢谢。
【问题讨论】:
-
你应该向我们提供这个:stackoverflow.com/help/mcve
标签: c++ image textures loading sfml