SFML图形在窗口黑屏中绘制纹理

时间:2017-12-08 09:56:11

标签: c++ sfml

我只是想写一个国际象棋引擎,对我来说重要的是我得到了一个很好的视觉表现。我试图在Visual Studio项目中实现代码 - 问题是程序只显示黑屏而不是我加载的纹理。

我的代码如下:

#include <SFML/Graphics.hpp>
#include <time.h>
using namespace sf;

int main(){

    RenderWindow window(VideoMode(1000, 1000), "MattseChess!");

    Texture t1;
    t1.loadFromFile("images/board.png");
    Sprite s(t1);

    while (window.isOpen())
    {
        Event e;

        while (window.pollEvent(e)) {

            if (e.type == Event::Closed)
                window.close();
    //Draw
            window.clear();
            window.draw(s);
            window.display();
        }
    }

    return 0;
}

你知道我做错了什么吗?

2 个答案:

答案 0 :(得分:2)

确保将您的绘图代码放在之外的事件循环中。否则,只有在发生某些事件时才会绘图(例如光标移动)。

答案 1 :(得分:0)

该代码有效。我很确定你没有把你的board.png放到执行路径的images目录中。

确保此图片可用: