我只是想写一个国际象棋引擎,对我来说重要的是我得到了一个很好的视觉表现。我试图在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;
}
你知道我做错了什么吗?
答案 0 :(得分:2)
确保将您的绘图代码放在之外的事件循环中。否则,只有在发生某些事件时才会绘图(例如光标移动)。
答案 1 :(得分:0)
该代码有效。我很确定你没有把你的board.png放到执行路径的images目录中。
确保此图片可用: