C++ SFML无法使用纹理创建加载栏
我是SFML新手,我正在尝试创建一个加载条,它可以增加和减少加载值。最初,该值从0开始,增加到100,然后再减少到0,同时无限地执行相同的操作 我正在尝试使用加载图像的纹理来实现这一点,如下所示 图像是410 x 130,我计划在每个时间步长上显示12.5%的图像,并在显示整个图像时剪切12.5%的图像。我正在做这样的事情:C++ SFML无法使用纹理创建加载栏,c++,image,textures,loading,sfml,C++,Image,Textures,Loading,Sfml,我是SFML新手,我正在尝试创建一个加载条,它可以增加和减少加载值。最初,该值从0开始,增加到100,然后再减少到0,同时无限地执行相同的操作 我正在尝试使用加载图像的纹理来实现这一点,如下所示 图像是410 x 130,我计划在每个时间步长上显示12.5%的图像,并在显示整个图像时剪切12.5%的图像。我正在做这样的事情: sf::RectangleShape powerBar; sf::Texture texture; if (!texture.loadFromFil
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));
然而,我无法得到我想要的,因为要么是整个图像被显示,要么是图像的一部分被以错误的比例显示
我可以知道我有什么办法可以实现我的目标吗?谢谢。也许你可以试试这个:
sf::Texture tex;
sf::Image image;
image.loadFromFile("Power Bar.png");
if (!tex.loadFromImage(image))
{
// error...
std::cout<<"Cannot load image"<<std::endl;
}
powerbar.setTexture(&tex);
您应该向我们提供以下信息: