SFML selbst nicht verfolgen, was auf dem Bildschirm gezogen wird - was Sie tun müssen, dass sich selbst - und Sie sollen den Fensterinhalt neu zu zeichnen, wenn nötig.
A basic „Hauptschleife“ für ein Programm SFML Basis würde dies typischerweise wie folgt aussehen:
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();
}
Je nachdem, was Sie zeichnen, legen Sie fest, was auf dem Bildschirm sichtbar ist. Wenn Ihr Rechteck nicht mehr angezeigt werden soll, rufen Sie einfach nicht mehr window.draw(rectangle);
auf. Wie Sie dies erreichen - z.B. indem Sie das Rechteck von einer std::vector<sf::Drawable*>
entfernen, die beim Zeichnen über iteriert wird - liegt ganz bei Ihnen.