Skocz do zawartości

Zablokowane Nachylenie względem powierzchni


Rekomendowane odpowiedzi

Siema, no więc piszę fizykę do platformówki. Problem w tym, że nie wiem jak zrobić nachylenie postaci względem ukształtowania powierzchni na jakiej stoi. Jak nie wiecie o co biega, to prosty rysunek wszystko wytłumaczy:

 

nowyobrazmapabitowazdf.png

 

Wiem, że gotowca raczej nie podacie, ale są jeszcze wytłumaczenia jak zrobić takie coś.

Odnośnik do komentarza
Udostępnij na innych stronach

Raczej za dobra metoda to by nie była.

noobish.png

Można zrobić, że detektory nie mogą np. być niżej od postaci o 8 pikseli i wyżej o 8 pikseli. Potem liczy się kąt pomiędzy detektorami za pomocą point_direction i dajemy taki angle sprite'owi.

 

Te detektory lepiej zrobić nie jako obiekty, ale jako wartości.

 

EDIT: nie wiem, czy taki kod będzie działać.

GML (Create)
detektor_y[0]=y-8;

detektor_y[1]=y-8;

GML (Step)
detektor_y[0]=y-8;

detektor_y[1]=y-8;

while(!(place_free(x-8,detektor_y[0]) && !place_free(x-8,detektor_y[0]+1)) {

if place_free(x-8,detektor_y[0]+1) detektor_y[0]+=1;

if detektor_y[0]>y+8 break;

}

while(!(place_free(x+8,detektor_y[1]) && !place_free(x+8,detektor_y[1]+1)) {

if place_free(x+8,detektor_y[1]+1) detektor_y[1]+=1;

if detektor_y[1]>y+8 break;

}

angle=point_direction(x-8,detektor_y[0],x+8,detektor_y[1]);

GML (Draw)
draw_sprite_ext(sprite_index,-1,x,y,image_xscale,image_yscale,angle,image_blend,image_alpha);

Kod nietestowany, może wymagać poprawek.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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