Wykrywanie kolizji dwóch duszków, które mogą obracać [duplikaty]
To pytanie ma już tutaj odpowiedź:
Jak sprawdzić przecięcie dwóch obróconych prostokątów? 7 odpowiedziMam problem z wykrywaniem kolizji w grze Java 2D.
Zwykle chciałbym utworzyć metodę getBounds () dla obiektu, który może kolidować z innymi obiektami. Ta metoda zwróci anew Rectangle(x,y,width,height)
, gdziex
iy
są współrzędnymi lewego górnego rogu ikonki iwidth
iheight
są szerokością i wysokością ikonki.
Ale w grze, nad którą obecnie pracuję, użytkownik kontroluje „zbiornik”. Duszek tego czołguobraca się tak długo, jak gracz posiada jeden z przycisków ze strzałkami w lewo lub w prawo. Innymi słowy, może obracać się pod dowolnym kątem. Duch czołgu jest prostokątem.
Więc nie mogę po prostu robić tego, co zawsze robię w tym przypadku.
Jak mogę wykryć kolizję z tego rodzaju ikonką? Dzięki