Kod znajduje się na stronie: http://szymonsiarkiewicz.pl/poradniki/sfml-kurs-podstawowy/rysowanie-obiektow-2d/
Dlaczego w tym przykładzie wywołujemy funkcję klasy Postac na obiekcie klasy RenderWindow (Window) ???
#include <SFMLGraphics.hpp>
class Postac : public sf::Drawable
{
public:
sf::Sprite sprite;
int zycie;
int sila;
// inne cechy
private:
virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const
{
//rysowanie obiektow, które składają się na narysowanie naszej postaci
target.draw(sprite);
}
};
int main()
{
Postac postac;
//zaladowanie tekstury naszego sprite'a
...
sf::RenderWindow window(sf::VideoMode(1280,720),"Rysowanie wlasnej klasy");
//dopóki okno jest otwarte
while(window.isOpen())
{
sf::Event event;
while(window.pollEvent(event))
{
...
}
window.clear();
//narysowanie naszej postaci
window.draw(postac);
window.display();
}
}
Przecież instrukcje wykonywane są w funkcji klasy Postac, a nie Window.