SFML RenderWindow нечетные символы

#c #sfml

#c #sfml

Вопрос:

Итак, я пытаюсь заставить SFML работать с Visual C 2010, и теперь он откроет окно, но когда это произойдет, оно будет выглядеть так.

Окно также не отвечает, когда вы пытаетесь переместить его или закрыть. Вот мой код:

 ////////////////////////////////////////////////////////////
// Headers
////////////////////////////////////////////////////////////
#include <SFML/Graphics.hpp>

int main()
{
    // Create the main window
    sf::RenderWindow App(sf::VideoMode(800, 600, 32), "SFML Window");

    while (true)
    {
        App.Clear();


        App.Display();
    }

    return EXIT_SUCCESS;
}
 

Ответ №1:

Вы должны опрашивать события в каждом кадре, чтобы окно отвечало операционной системе. Если вы этого не сделаете, вы не будете перемещать или закрывать его.

 #include <SFML/Graphics.hpp>
int main()
{
    sf::RenderWindow App(sf::VideoMode(800, 600, 32), "SFML Window");
    while (App.IsOpened())
    {
        App.Clear();
        sf::Event event;
        while (App.PollEvent(event))
        {
            if (event.Type == sf::Event::Closed)
                App.Close();
        }
        App.Display();
    }
    return EXIT_SUCCESS;
}
 

Если вы используете SFML 1.6, измените PollEvent на GetEvent . Прочитайте документацию.