无法加载图片SFML

时间:2020-08-09 15:24:09

标签: c++ sfml

我在Windows上的SFML有问题。我通常在Linux下工作,但是这次我在Windows上的VSCode上工作。因此,我试图从名为toto.png的文件中加载图像。但是当我绘制它时,每次都会出现错误Failed to load image。我首先以为这是我的功能,所以我尝试直接在主函数中绘制精灵,但出现相同的错误,然后我以为它来自我的路径,因此我将图像复制到了项目所有可能的文件夹中,但与此相关的事件仍然无法正常工作。

#include "Window.hpp"
#include "Grid.hpp"


WindowHandling::WindowHandling()
{
    _window.create(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT), "2048");
}

void WindowHandling::DrawWindow()
{
    sf::Texture texture;
    sf::Sprite sprite;
    texture.loadFromFile("toto.png");
    sprite.setTexture(texture);
    std::unique_ptr<Grid> Map(new Grid());
    while (_window.isOpen()) {
        Map->CreateGrid(_window);
        while (_window.pollEvent(_event)) {
            if (_event.type == sf::Event::Closed)
                _window.close();
            _window.draw(sprite);
        }
        //_window.clear(sf::Color(220, 220, 220));
        _window.display();
    }
}

2 个答案:

答案 0 :(得分:0)

在VSCode项目运行设置中将工作目录指定为带有图像的路径。

.vscode/launch.json

添加行:

"cwd": "${fileDirname}"

转到“配置”部分

或直接从已编译到的目录中通过.exe运行它

答案 1 :(得分:0)

问题已解决,我正在debug中执行项目,而不是release ...