因此,我正在寻找一个月的答案,没有人无法弄清楚发生了什么。我有类Gamerite,其中有精灵和纹理,当我调用函数 - > getSprite()并在我的窗口上绘制它时我只得到白盒子。我再次重新输入我的代码3次,我一次又一次地遇到同样的问题。如果有人帮助我,我会很高兴。这是我的文件。 files
答案 0 :(得分:0)
我曾经遇到过同样的问题。 我努力加载纹理(.png),但我做了一个函数,你只需要给它源(作为一个字符串),然后它返回有效的sf :: Sprite。
//loads a graphic from a source
static sf::Sprite loadSprite(std::string source){
static sf::Texture t;
if (!t.loadFromFile(source)){
std::cerr << "Error: File couldn't be loaded" << std::endl;
}
static sf::Sprite s;
s.setTexture(t);
return s;
}
尝试为GameObject.h提供此功能(也可能是其他文件)。 要使用它,只需添加
即可void setSprite(std::string source){
sprite = loadSprite(source); //call that function
}
函数到你的一个GameObject.h公共成员函数中,你也可以从构造函数调用。 试试看!祝你好运