Поиск…


замечания

Вы должны использовать sf::RenderWindow а не sf::Window , если вы планируете рисовать примитивы, предоставленные SFML, такие как sf::RectangleShape или sf::Sprite .

Создание окна OpenGL

Windows в SFML представлены одним из двух классов:

  • sf::Window - это общее окно, предоставляемое операционной системой, включая контекст рендеринга OpenGL.
  • sf::RenderWindow - это специализированная версия sf::Window которая также выступает в качестве sf::RenderTarget , позволяя отображать примитивы sf::RenderTarget .

Основное использование в обоих случаях одинаковое.

#include <SFML/Window.hpp>

int main(int argc, char *argv) {
    // Create and initialize a window object
    sf::Window window(sf::VideoMode(640, 480), "My SFML Window");

    // Repeat this as long as the window is open
    while (window.isOpen()) {
        // Handle window events ("event loop")
        sf::Event event;
        while (window.pollEvent(event)) {
            switch(event.type) {
                case sf::Event::Closed: // User tries to close the window
                    window.close(); // Actually close the window
                    break;
            }
        }

        // Render logic would be placed here
        
        // Swap buffers and update the window
        window.display();
    }
    return 0;
}


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow