Skocz do zawartości

Płynny obrót


Axel_CC

Rekomendowane odpowiedzi

Witam. Załóżmy, że object_samochod ma w poleceniu jechać do waypoint1. Mam sporo tych waypointów, no chcę zrobić jakąś drogę. Jednak nie chcę robić ich 150, aby ruch był w miarę płynny, więc zwracam się do Was z prośbą. Jak zrobić, aby object_samochod nie przeskakiwał tak tylko płynnie się obrócił ?

GML
Create:

move_towards_point(waypoint1.x,waypoint1.y,6)

direction=point_direction(x,y,waypoint1.x,waypoint1.y)

 

Kolizja z waypoint1:

move_towards_point(w2.x,w2.y,6)

direction=point_direction(x,y,w2.x,w2.y)

 

i tak dalej z kolejnymi...

może jakoś to tak zrobić, że w spricie zaznaczyć animację i utworzy się powiedzmy 70-klatkowy obrót pojazdu ?

Z góry dzięki za pomoc! Szukałem ale nie znalazłem tego co potrzebuję na forum :)

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem czy na pewno będzie dobrze działać ale możesz spróbować tego:

 

GML (create)
speed = 6; //szybkosc poruszania

sp = 4; // szybkosc skrecania

wayp = waypoint1; // zmienna ta bedzie przechowywac kolejne waypointy</span>

 

GML (step)
var roznica;

roznica = point_direction(x,y,wayp.x,wayp.y) - direction;

 

if ( roznica < -180 ) roznica += 360;

if ( roznica > 180 ) roznica -= 360;

if ( roznica >= 0 && roznica > sp ) direction += sp;

if ( roznica < 0 && - roznica > sp ) direction -= sp;

 

GML (kolizja z waypoint1)
wayp = w2;

 

Jeżeli masz małe te waypointy to może się zdarzyć że samochód zacznie się w kółko kręcić bo nie będzie mógł trafić w niego.

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