SFML obiektowo

0

Cześć.
Jeżeli gdzieś już jest post w którym poznam odpowiedź to proszę podać link.

Mam taki problem. Próbuję stworzyć (obiektowo) prostą grę opartą o c++ i sfml 2.x .
Przykład;
Tworzę klasy:
-Grafika
-sterowanie

W klasie grafika mam metody które renderują i generują okno a także metode która wczytuje grafikę, a w klasie sterowanie mam metode sterowania modelem na scenie czyli graczem. I tu mam problem, próbowałem na wiele sposobów; przyjaźń, dziedziczenie i nic nie pomaga, a chodzi mi o to że:
W klasie Grafika w metodzie okno tworzę okno o nazwie window. W klasie sterowanie metoda ruch korzysta z zmiennej nazwy okna, i pokazuje błąd że taka zmienna nie istnieje. Moje pytanie brzmi: Jak utworzyć te klasy żeby metoda w klasie sterowanie odczytywała nazwę okna z klasy Grafika?

0

Zastanów się co ma sterowanie postacią do okna.
Ale wiesz, tak porządnie.

0

Możesz dziedziczyć po klasie

sf::Drawable

, tutaj masz przykłady: http://szymonsiarkiewicz.pl/rysowanie-obiektow-2d/
lub możesz stworzyć w swojej klasie funkcje:

void MyClass:render(sf::RenderWindow &window)
{
window.draw(sprite);
}

i wywołujesz:

sf::RenderWindow window //okno aplikacji
MyClass x;
x.render(window);
0

spartanPAGE,
sterowanie ma do okna to że poruszam spritem po scenie a w/w metoda wyświetla błąd że nie jest określone okno w danej klasie

0

Zrób klasę gracz. W tej klasie będziesz miał metodę która będzie umożliwiała poruszanie postacią - zmieniasz pozycję sprita oraz rysujesz go na oknie które przekazujesz w argumencie funkcji.

pamiętaj o &

1 użytkowników online, w tym zalogowanych: 0, gości: 1