所以我今天醒来,打开我的项目并尝试运行它 - 幸运的是,它甚至在进入主要功能之前就停止了。
然而,它昨晚有效,但现在不起作用。我没有做任何改变它。
这是source.cpp
:
#include <SFML/Graphics.hpp>
#include "Game.h"
#include <iostream>
using namespace std;
int main()
{
string name;
cout << "alupigus";
name = "Dino Attack";
Game game(800, 800, name);
game.loadAssets();
game.Run();
return 0;
}
当我在控制台中编译并运行它时,它除了显示黑屏外没有显示任何内容。我无法输入任何内容,SFML的渲染窗口也没有出现。
我只使用SFML作为外部库,但我没有修改任何链接,也没有移动文件等。
答案 0 :(得分:1)
你没有冲洗流。您的代码应如下所示:
#include <SFML/Graphics.hpp>
#include "Game.h"
#include <iostream>
using namespace std;
int main()
{
string name;
cout << "alupigus" << endl;
name = "Dino Attack";
Game game(800, 800, name);
game.loadAssets();
game.Run();
return 0;
}
另外,请考虑删除 using namespace std;
,因为在较大的项目中这是不好的做法。阅读this
答案 1 :(得分:0)
好吧基本上我解决了这个问题。由于某些原因,这阻止了程序正常运行,尽管我没有触及代码的这个区域一周
x = Board::dinozaurPoz;
x.x = rand() % 400 + 200;
while (Board::matrix[(int)x.y / 40][(int)x.x / 40] != 1) {
x.x = rand() % 400 + 200;
循环不会无限期地运行,所以我真的不知道这里的问题是什么。也许更有经验的人可以告诉我我做错了什么。