SFML lui-même ne sera pas suivre ce qui est dessiné sur l'écran - vous devrez faire vous-même - et vous êtes censé redessiner le contenu de la fenêtre en cas de besoin.
Une « boucle principale » de base pour un programme SFML regarderais généralement comme ceci:
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
// Handle events here
}
// Update your program logic here
window.clear();
// Draw your stuff here
window.display();
}
Selon ce que vous dessinez, vous déterminez ce qui est visible à l'écran. Donc, si vous voulez que votre rectangle n'apparaisse plus, n'appelez plus window.draw(rectangle);
. Comment vous réalisez cela - par ex. en supprimant le rectangle d'un std::vector<sf::Drawable*>
qui est répété pendant le dessin - c'est à vous de décider.