SFML okno miga - .display() w pętli

0

Witam,
mam problem z użyciem metody .display() w SFML, jeżeli wywołam ją raz wszystko działa, jeżeli raz jeszcze - okno robi się czarne, po kolejnym wywołaniu w oknie znów ukazuje się to co w nim "narysowałem". To samo, rzecz jasna, dzieje się w pętli - efektem jest miganie ekranu.

To mój kod:

#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <iostream>
#include <cstdio>

using namespace std;

    sf::RenderWindow okno(sf::VideoMode(800,500), "program");
int main()
{

okno.clear( sf::Color(255,255,255));

sf::CircleShape punkt(1);
punkt.setFillColor(sf::Color::Black);

 while( okno.isOpen() )
    {
        sf::Event zdarzenie;
        while( okno.pollEvent( zdarzenie ) )
        {
            if( zdarzenie.type == sf::Event::Closed )
                 okno.close();
        }
punkt.setPosition(rand()%200,rand()%200);
okno.draw(punkt);
okno.display();
    }


    return 0;
}

Jak poprawnie powinienem zrobić aktualizację widoku okna?

Pozdrawiam!

ps.
Celem programu jest wypełnianie ekranu punktami.

0

Spróbuj iść zgodnie z dokumentacją (https://www.sfml-dev.org/tutorials/2.0/graphics-draw.php), czyli dorzuć okno.clear();.

Na marginesie - nie pisz po polsku, miesza się od tego w oczach (tu angielski, tu polski) plus od razu nauczysz się poprawnych praktyk.

1 użytkowników online, w tym zalogowanych: 0, gości: 1