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.