Chcę napisać grę w sfml
Mam już w głowie w miarę dokładny pomysł, proszę o ocenę, komentarz, radę i odpowiedz na pytania na końcu
Klasy silnika (będą po angielsku, w fazie projektowej po polsku):
- Obiekt (pozycja oraz wskaźnik na funkcję efektu kolizji)
- Ruch (przyjmowanie movePerSec i elapsedTime)
- Kolizja (przyjmowanie dwóch obiektów. Sprawdzanie i if(collision == true){czynność}; czynność == ruch wstecz, i reakcja na ruch, czyli wykonanie funkcji przekazanej przez klasę Obiekt)
- Animacja (przechowywanie sf::IntRect i zwracanie odpowiedniego sf::IntRect)
- Rysowanie obiektów (pętla, jeden sf::Sprite, jedna sf::Texture
- Wyświetlanie tekstu
- Ewentualnie odtwarzanie muzyki
Klasy gry:
- Gra (start gry)
- Menu (będzie wywoływać między innymi klasę Gra)
- Level (to będzie kilka obiektów, których wskaźniki będzie przechowywać klasa Gra)
- OknoTekstowe (Wyświetlanie tekstu - będzie wywoływane przez klasę kolizja)
Logika gry:
Menu -> Gra -> pętla gry
Pętla gry:
Level -> Obiekty -> Ruch -> Kolizja -> Animacja -> Rysowanie
Pytanie:
Jak planować logikę gry i jak ją programować. Czy realizacja wydarzeń w grze w klasie Kolizja np. wyświetlanie tekstu, albo reakcja botów na zbliżenie się jest dobrym zabiegiem. Jakie macie na ten temat zdanie.
Jak zrobić z sf::Sprite, zajmuje 272 bajtów a więc trochę dużo.
Ja myślałem, zeby zrobić jedną teksturę i jeden sprajt i jedno po drugim wywoływać w pętli: window.setTextureRect(IntRect); i window.draw(sprajt);
P.S.
Jeżeli ktoś chciałby spróbować zrobić grę np. w dwie osoby to proszę o kontakt :)