C++ 在类函数的窗口上显示纹理和精灵

C++ 在类函数的窗口上显示纹理和精灵,c++,class,object,textures,sfml,C++,Class,Object,Textures,Sfml,这是我的cpp文件,它有这个功能。我评论了一些成员因素,因为我觉得它根本没有被阅读,但将包括他们,看看我是否能够使用他们。我的纹理似乎能够出现,但无论大小或位置,我试图把它没有显示在所有。它似乎加载正确,因为我有我的if语句来检查当它无法加载我想要使用的纹理时。那么,我做错了什么,根本没有出现 //sf::Texture suit::image = suit::setUpTexture(); // //sf::Texture& suit::setUpTexture() //{ //

这是我的cpp文件,它有这个功能。我评论了一些成员因素,因为我觉得它根本没有被阅读,但将包括他们,看看我是否能够使用他们。我的纹理似乎能够出现,但无论大小或位置,我试图把它没有显示在所有。它似乎加载正确,因为我有我的if语句来检查当它无法加载我想要使用的纹理时。那么,我做错了什么,根本没有出现

//sf::Texture suit::image = suit::setUpTexture();
//
//sf::Texture& suit::setUpTexture()
//{
//    image.loadFromFile("Jester.png");
//    sf::Sprite sprite;
//    sprite.setTexture(image);
//
//    return image;
//}

suit::suit()
{
    sf::Texture image;

    image.loadFromFile("Jester.png");
    sf::Sprite sprite;
    sprite.setTexture(image);
    sf::Sprite::setScale(5,5);

    sprite.setPosition(950,950);

    if(!image.loadFromFile("Jester.png"))
    {
        exit(1);
    }
}
我的头球

class suit : public sf::Sprite
{
private:
//    static sf::Texture image;
//    static sf::Texture& setUpTexture();

public:
    suit();
};

将纹理链接到精灵时,需要告诉精灵该纹理的实际引用

sprite.setTexture(image&);
使用“&”操作符调用字体地址应该可以解决您的问题。 您还应通过调用以下命令仅加载一次图像:

if(!image.loadFromFile("Jester.png"))
{
    exit(1);
}
而不是:

image.loadFromFile("Jester.png");

实际上,我不知道您是否在重新阅读代码后进行了此操作,但请不要忘记使用draw()方法绘制演员。

将纹理链接到精灵时,您需要告诉精灵该纹理的实际引用

sprite.setTexture(image&);
使用“&”操作符调用字体地址应该可以解决您的问题。 您还应通过调用以下命令仅加载一次图像:

if(!image.loadFromFile("Jester.png"))
{
    exit(1);
}
而不是:

image.loadFromFile("Jester.png");
实际上,我不知道您是否在重新阅读代码后进行了此操作,但请不要忘记使用draw()方法绘制演员