SFML obiektowo

Odpowiedz Nowy wątek
2014-12-25 23:42
Wlodek
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?

Pozostało 580 znaków

2014-12-25 23:48
0

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

Pozostało 580 znaków

2014-12-25 23:49
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);

Pozostało 580 znaków

2014-12-26 03:19
Wlodek
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

Pozostało 580 znaków

2014-12-26 11:44
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 &


GG: 10101100010110000100011101 (BIN)
"Nie wszystko napisane w internecie jest prawdą" - Józef Piłsudski.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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