c++ 我的sfml代码无法找到/加载任何sprite,为什么?

jgovgodb  于 2022-12-30  发布在  其他
关注(0)|答案(1)|浏览(143)

我有这个SFML c++代码,应该从一个文件加载一个sprite:

Texture TankTexture;
Sprite tank;

std::string path = "tank.png";
TankTexture.loadFromFile(path);
tank.setTexture(TankTexture);

但它给我一个错误后,我运行代码和崩溃我的应用程序与一堆随机字符在终端。我也尝试了其他图像,它不工作。我确保精灵是在同一个文件夹中的.cpp文件。仍然不工作。任何ideas


下面是控制台给我的一个大问题:

8dtrkrch

8dtrkrch1#

我在截图中没有看到文件扩展名。请确保SFML代码中的路径是绝对路径还是相对路径:“./tank.png”,并且您保存的文件实际上与该路径匹配。(屏幕截图中没有.png)
在使用SFML时,还可以使用其良好实践来验证是否加载了纹理:

if(!texture.loadFromFile("./tank.png")){
    std::cout << "[ERR] could not load image!"
    exit(1)
}

如果出了问题,纹理没有加载(即图像不在那里),我们退出程序。

相关问题