SFML 组合可绘制对象
SFML combine drawable objects
我想将 sf:RectangleShape 和 sf::Text 合并到一个可绘制对象中,这样我只需为这两个对象调用函数 mWindow.draw() 一次。可能吗?
你可以做的是实现一个继承自 sf::Drawable
的 class,并覆盖 draw
函数来绘制矩形和文本。您的渲染 window 将处理其余部分。
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);
}
};
我想将 sf:RectangleShape 和 sf::Text 合并到一个可绘制对象中,这样我只需为这两个对象调用函数 mWindow.draw() 一次。可能吗?
你可以做的是实现一个继承自 sf::Drawable
的 class,并覆盖 draw
函数来绘制矩形和文本。您的渲染 window 将处理其余部分。
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);
}
};