窗口出现奇怪的SFML错误

时间:2014-02-21 22:21:45

标签: c++ window sfml

我正在学习SFML的基础知识(足以制作一个基本的乒乓球游戏),但我一直在用窗口得到这个奇怪的错误。当窗口启动时,它有时会出现黑色背景(如图所示),但大约50%的时间看起来就像启动时窗口后面的样子。我在编译时没有错误。

以下是我认为导致问题的代码:

//Game loop
while(window.isOpen()){
    sf::Event Event;


    while(window.pollEvent(Event)){

        //Getting input
        switch(Event.type){
        case sf::Event::Closed:
            window.close();
        break;

        case sf::Event::KeyPressed:

            switch(Event.key.code){

            case sf::Keyboard::Right:
                std::cout << "Right Key Pressed" << std::endl;
            break;

            case sf::Keyboard::Left:
                std::cout << "Left Key Pressed" << std::endl;
            break;

            case sf::Keyboard::Up:
                std::cout << "Up key pressed" << std::endl;
            break;
            }

        break;
        }

    }
   window.display();
}
return 0;
}

这就是我制作窗户的方式:

sf::RenderWindow window(sf::VideoMode(screenWidth, screenHeight), "Pong!", sf::Style::Titlebar | sf::Style::Close);

有什么特别明显的东西我不知道了吗?

如果这有任何不同,我也在使用Linux和xfce4。

1 个答案:

答案 0 :(得分:1)

我真的不明白你的问题,但你是否试图清理窗户?

添加“window.clear();”就在“window.display();”

之前