Pracuję nad strzelanką 2d topdown, a teraz muszę wyjść poza mój podstawowy system kolizji z prostokątami.
Mam duże poziomy z wieloma różnymi duszkami, z których wszystkie mają różne kształty i rozmiary. Tekstury dla duszków to kwadratowe pliki png z przezroczystym tłem, więc potrzebuję też sposobu, aby zderzyć się tylko wtedy, gdy gracz wejdzie w kolorową część tekstury, a nie przezroczyste tło.
Planuję poradzić sobie z kolizją w następujący sposób:
- Sprawdź, czy jakieś duszki znajdują się w zasięgu odtwarzacza
- Wykonaj test kolizji prostego obwiedni
- Wykonaj dokładną kolizję (gdzie potrzebuję pomocy)
Nie mam nic przeciwko zaawansowanym technikom, ponieważ chcę to zrobić, mając na uwadze wszystkie moje wymagania, ale nie jestem pewien, jak do tego podejść. Jakie techniki, a nawet biblioteki do wypróbowania. Wiem, że prawdopodobnie będę musiał stworzyć i przechowywać jakiś kształt, który dokładnie reprezentuje każdą duszkę minus przezroczyste tło.
Czytałem, że na piksel jest wolny, więc biorąc pod uwagę mój duży poziom i liczbę obiektów, nie sądzę, że byłoby to odpowiednie. Patrzyłem również na Box2d, ale nie byłem w stanie znaleźć dużej dokumentacji ani żadnych przykładów tego, jak uruchomić ją z SFML.
źródło