Skocz do zawartości

Zmiana pozycji przy kolizji z solidami


Platyna

Rekomendowane odpowiedzi

Załóżmy że mamy solidny obiekt A i solidny obiekt B. Obiekt A jest po lewej stronie obiektu B i ma hspeed=10 więc tak jakby "pcha się" na obiekt B. Wiadomo że wtedy GM nie zmieni pozycji obiektu A na osi x ponieważ GM nie dopuszcza by dwa obiekty solidne na siebie nachodziły gdy mają zdarzenie kolizji. Więc na razie jest spoko. Ale gdy obiekt A ma nie tylko hspeed=10 ale także vspeed=-10 to nie tylko pozycja x się nie zmienia o 10 ale także pozycja y nie zmienia się. A przecież y spokojnie może zmniejszyć o 10 bo nie będą wtedy na siebie nachodzić jeżeli x nie zwiększy GM. No i jak temu zaradzić. Bo gdy na nowej pozycji występuje ta nieszczęsna kolizja to GM nie zmienia (CZASAMI) ani x ani y.

Mam nadzieję że wytłumaczyłem to dość jasno, a ciężko to wyjaśnić.

 

Jak nie potraficie pomóc to piszcie mi jak dokładnie działa ta zmiana pozycji przy solidnych obiektach. Znając ten mechanizm dokładnie może sobie jakoś sam poradzę. :)

Odnośnik do komentarza
Udostępnij na innych stronach

kazdy z tych obiektow potrzebuje zmiennej symbolizujacej masę, przy kolizji liczysz jak bardzo nachodza obiekty na siebie (dystans ile px sie na siebie nachodza) i wtedy liczysz punkt centralny miedzy nimi, potem proporcjonalnie do wagi przesuwasz na odleglosc kazdy z obiektow tak by nie kolidowaly juz ze soba.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...