我想将sf:RectangleShape和sf :: Text组合成一个可绘制对象,这样我只需要为两个对象调用函数mWindow.draw()一次。有可能吗?
答案 0 :(得分: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);
}
};