Witam!
Potrzebuję zrobić do gry obracanie się bohatera w kierunku myszki z małym opóźnieniem. Próbowałem robić już to tym dosyć długim algorytmem:
GML
DocKier = point_direction(x,y,mouse_x,mouse_y);
OdwrKier = (DocKier + 180) mod 360;
if DocKier > OdwrKier {
if direction <= DocKier
&& direction >= OdwrKier {
Mnoznik = 1;
}
else {
Mnoznik = -1;
}
}
else
if direction >= DocKier
&& direction <= OdwrKier {
Mnoznik = -1;
}
else {
Mnoznik = 1;
}
if round(direction/5) != round(DocKier/5) {
direction +=
Mnoznik*room_speed*0.2;
}
Obracanie działa jak należy ale kiedy podniosę room_speed*0.4 wtedy bohater porusza się co kilka pixeli a czasem zaczyna drgać nie wiedząc gdzie jest bliższy direction. Prosiłbym o poprawienie tego algorytmu lub jak się komuś chce, napisania nowego :)
Proszę o jak najszybsze rozwiązanie, będę bardzo wdzięczny :)