Z której strony nastąpiła kolizja

0

Jak sprawdzić z której strony obiektu nastąpiła kolizja? Po wykryciu kolizji przez intersects spróbowałem czegoś takiego:

			if(b.getX() + b.getWidth() >= x){System.out.print("Lewa");}
			if(b.getX() <= x + getWidth()){System.out.print("Prawa");}
			if(b.getY() + b.getHeight() >= y){System.out.print("Góra");}
			if(b.getY() <= y + getHeight()){System.out.print("Dół");}

Ale nie działa, i nie mam pomysłu co zrobić.

0

Ja się na tym nie znam, a dasz radę sprawdzić na których wspórzędnych nastąpiła kolizja?
Jeżeli tak, to może zrobić jakiś obrys bryły np. prostokatem. I sprawdzić czy te wspólne wpsółrzedne (wsp. kolizji) są od środka w górę, czy od środka w dół, potem czy, te współrzedne są od środka w lewo, czy od środka w prawo. Z tych 2 if'ów wyjdzie Ci, na której ćwiartce masz kolizję.

Ale ja sie na tym nie znam. Z takich zabaw to tylko próbowałem DirectX udało mi się tylko odpalić sample, nie udało mi się nawet zaimplementować pustej sceny. Tzn. wkurzyłem się po kilku godzinach i to rzuciłem.
A... Nie, kiedyś w C# coś zrobiłem, choinkę, która strzełała do spadających bombek. Ale nie chciały mi się naboje usuwać i to porzuciłem (nie lubię współczesnego sposobu obchodzenia Świąt, to miała być gra-prezent który bym wysłał na maila znajomym).

0

Potrzebowałem tego aby zablokować ruch mojej postaci w stronę ściany, ale wykorzystałem coś innego jeśli następuje kolizja z jakimś obiektem postać jest cofana na swoje poprzednie współrzędne zapisane przed ruchem.

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