2017-09-19 40 views

回答

1

你可以做的是实现一个继承自sf::Drawable的类,并覆盖draw函数来绘制矩形和文本。您的渲染窗口将处理其余部分。

class BoxAndText : public sf::Drawable 
{ 
public: 
    sf::RectangleShape rect; 
    sf::Text text; 
private: 
    void draw(sf::RenderTarget& target, sf::RenderStates states) const override 
    { 
     target.draw(rect, states); 
     target.draw(text, states); 
    } 
}; 
+0

非常感谢您的回答!但是,如何使用该功能? target.draw(窗口)? –

+0

@NotImportant:你不直接调用这个函数。它由'sf :: RenderWindow :: draw'使用。所以你创建一个'BoxAndText'对象,然后调用'mWindow.draw(object)',就像你用任何其他drawable(正是你请求的语法)一样。 –

+0

好的,谢谢! –