【问题标题】:Failed to load image SFML图片 SFML 加载失败
【发布时间】:2020-08-09 15:24:09
【问题描述】:

我的 SFML 在 Windows 上存在问题。我通常习惯在 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();
    }
}

【问题讨论】:

    标签: c++ sfml


    【解决方案1】:

    在你的 VSCode 项目运行设置中指定工作目录到带有图片的路径。

    .vscode/launch.json
    

    添加行:

    "cwd": "${fileDirname}"
    

    转到“配置”部分

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-25
        • 1970-01-01
        • 1970-01-01
        • 2020-06-24
        • 2010-12-11
        • 2019-09-26
        • 1970-01-01
        • 2020-07-08
        相关资源
        最近更新 更多