使用SFML sf :: VideoMode破坏了我的应用程序,说“Singularity.exe已停止工作”
特别是这一行:
_mainWindow.create(sf::VideoMode(1024,768,32), "Singularity");
此行是造成问题的原因。当我删除它,应用程序工作正常。以下是主类文件的完整代码:
#include "stdafx.h"
#include "Game.h"
void Game::Start(void)
{
if (_gameState != Uninitialized)
return;
_mainWindow.create(sf::VideoMode(1024,768,32), "Singularity");
_gameState = Game::Playing;
while (!IsExiting())
{
GameLoop();
}
_mainWindow.close();
}
bool Game::IsExiting()
{
if (_gameState == Game::Exiting)
return true;
else
return false;
}
void Game::GameLoop()
{
sf::Event currentEvent;
while (_mainWindow.pollEvent(currentEvent))
{
switch (_gameState)
{
case Game::Playing:
{
_mainWindow.clear(sf::Color(255, 0, 0));
_mainWindow.display();
if (currentEvent.type == sf::Event::Closed)
{
_gameState = Game::Exiting;
}
break;
}
}
}
}
Game::GameState Game::_gameState = Uninitialized;
sf::RenderWindow Game::_mainWindow;
是否有人知道可能导致此问题或如何解决问题?我是SFML的新手,所以我不知道该怎么做。 谢谢,Zuve