SFML VideoMode打破了应用程序

时间:2015-09-05 22:28:42

标签: c++ sfml

使用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

0 个答案:

没有答案