SFML 将形状绘制到屏幕上的多个位置

SFML drawing a shape to multiple places on the screen

我想做的是在屏幕上的多个地方绘制一个Rectangle Shape对象,并全部显示出来。我试过这样做:

window.draw(rectangle);
rectangle.setPosition(100, 200);
window.draw(rectangle);
window.display();

但它只显示了第二个矩形。有什么简单的解决方法吗?

有两个位置不同的矩形。画两个,然后 display().

这段代码应该可以正常工作。我认为事实是您将矩形的位置设置为 100, 200 但在再次绘制之前您永远不会将其设置回第一个位置。
你应该

window.clear();
rectangle.setPosition(0.f, 0.f);
window.draw(rectangle);
rectanlge.setPosition(100.f, 200.f);
window.draw(rectangle);
window.display();