kolizja 2 obiektów sfml.

0

Ma ktoś może pomysł jak wykonać program w którym 1 z kolidujacych obiektów będzie usuwany?
jeden obiekt to Sprite (on ma byc usuwany), drugi to koło definiowane przy pomocy funkcji Circleshape...
Oba obiekty mają osobną klasę, i teraz w programie głównym próbuje stworzyć funkcję która wykrywa kolizje tych dwóch obiektów i usuwa sprita z ekranu.
Niestety po ponad 2h szukania sposobów nie udało mi się nic osiągnąć.

1

Jeśli nie nauczysz się szukać rozwiązań (małe operacje, zamiast złożone rozwiązania), programować symulacji i nie przerzucisz się na przyjaźniejsze środowisko do gier (w Unity łatwiej by było innym Ci to wytłumaczyć i Tobie łatwiej by było to zrealizować), to nic nie będzie łatwe do znalezienia i wykonania...

  1. Kolizję możesz wykryć dla wszystkich obiektów, którym możesz w jakiś sposób przyporządkować promień i pozycję. Najłatwiej wykryć kolizję dwóch okręgów, zamiast np. prostokątu z okręgiem.

  1. Sprites najlepiej przechowywać w jakiejś wspólnej strukturze danych (vector?). Jak w wyniku kolizji usuwasz sprite z vectora, to ten przestanie być obsługiwany we wszystkich miejscach. Przestanie kolidować z innymi obiektami i przestanie być wyświetlany.
    Jeśli pętla używająca vectora przewiduje usuwanie elementów, to powinna być iterowana od końca!

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