Skocz do zawartości

Poruszanie bohatera prostopadle do podłoża


matik97

Rekomendowane odpowiedzi

Witam!

 

Mam pytanie, czy możliwe jest w Game Makerze mierzenie kąta pomiędzy podłożem a graczem?

Chciałbym zrobić poruszanie bohatera po nierównej powierzchni, ale tak, aby moja postać zawsze była prostopadła do podłoża, na którym się znajduje.

Oto przykład dość znanej gierki, w której jest zastosowane właśnie takie poruszanie (postać pochyla się odpowiednio gdy stoi na ukośnej powierzchni): http://www.giercownia.pl/gra/2074/fancy_pants_adventure/

Może ktoś mógłby zrobić dobrze opisany przykład...

Z góry dzięki, czekam na pomoc!

Odnośnik do komentarza
Udostępnij na innych stronach

Możesz przekręcać swojego bohatera za pomocą image_angle. Według mnie lepszym rozwiązaniem będzie całkowita zmiana sprita na pochylonego, używając image_angle GM nie wygładza krawędzi i postać byłaby strasznie poszarpana. :rolleyes: Sprawdzaj kolizję z obiektem po którym się chodzi i przekręcaj bohatera albo podstawiaj innego sprite - moje rozwiązanie :)

Odnośnik do komentarza
Udostępnij na innych stronach

to jak w wormsach, poszukam u siebie... gdzieś kiedyś widziałem coś takiego w swoich zasobach :)

 

EDIT: niet, nie posiadam tego przykładu... ale na angielskim forum Gm'a mają na bank. Wejdź sobie i przeszukaj forum pod hasłem "worms". Pamiętam, że kiedyś coś takiego znalazłem

Odnośnik do komentarza
Udostępnij na innych stronach

Wiem, że image_angle odpowiada za obracanie bohatera, ale mi chodzi o to, żeby zmierzyć kąt pod jakim nachylone jest podłoże i odpowiednio do tego kąta przechylić bohatera.

 

A nie możesz nadać dla podłoża odpowiedniej wartości dla direction (lub innej zmiennej w przypadku gdy używasz direction np. do nadawania kierunku dla ruchomych platform) i w momencie kolizji odczytywać tej wartości (other.direction) i odpowiednio korygować nachylenie bohatera? To zadziała pod warunkiem że podłoże składa się u Ciebie z prostych obiektów (prostokąty) bo przy obiektach nieforemnych to się nie sprawdzi.

Odnośnik do komentarza
Udostępnij na innych stronach

Zrób sobie 2 obiekty (mogą być oddzielnymi obiektami lub być zaprogramowane w obiekcie gracza). Jeden zawsze jest x pixeli na lewo od gracza, a drugi x pixeli na prawo. I one potrafią wchodzić po nierównym terenie. Teraz gracza sprawdza pod jakim kątem przechodzi prosta łącząca te 2 obiekty.

W skrócie sprowadza się to do tego by sprawdzić na jakiej wysokości znalazłby się by gracz gdyby dał kilka kroków w przód, a na jakiej gdyby dał w tył. Wtedy wiemy pod jakim kątem idzie teren.

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ę...