1
두 객체에 대해 mWindow.draw() 함수를 한 번만 호출해야하므로 sf : RectangleShape 및 sf :: Text를 하나의 드로어블 객체에 결합한다고합시다. 가능한가?SFML 결합 드로잉 가능 객체
두 객체에 대해 mWindow.draw() 함수를 한 번만 호출해야하므로 sf : RectangleShape 및 sf :: Text를 하나의 드로어블 객체에 결합한다고합시다. 가능한가?SFML 결합 드로잉 가능 객체
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);
}
};
답변 해 주셔서 감사합니다. 그런데 어떻게 함수를 사용합니까? target.draw (window)? –
@ 중요하지 않음 :이 함수를 직접 호출하지 마십시오. 그것은'sf :: RenderWindow :: draw'에 의해 활용됩니다. 그래서'BoxAndText' 객체를 만든 다음 다른 드로어 블 (정확하게 당신이 요청한 구문)과 마찬가지로'mWindow.draw (object)'를 호출합니다. –
감사합니다. –