2017-09-19 42 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

好的,謝謝! –