Dawka83 Opublikowano 14 Lutego 2010 Udostępnij Opublikowano 14 Lutego 2010 Mam sobie kod: GML (steep) if (distance_to_point(xx,yy)>-10) { move_towards_point(xx,yy,3); } else { speed=0; } Ale nie działa dobrze i postać skacze... Gdy zwiększę z -10 na np 0 postać nie stanie dokładnie w tym miejscu w którym chcę. Jak to zrobić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 14 Lutego 2010 Udostępnij Opublikowano 14 Lutego 2010 Odległość nie może być ujemna wiec warunek GML if (distance_to_point(xx,yy)>-10) jest ZAWSZE PRAWDZIWY. Zrób tak: GML dis=distance_to_point(xx,yy); if (dis>0) { move_towards_point(xx,yy,min(dis,3)); //Gdy dystans będzie mniejszy niż 3 to przesunie o ten dystans zamiast o 3. :) } else { speed=0; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 14 Lutego 2010 Autor Udostępnij Opublikowano 14 Lutego 2010 Platyna działa ale jest jakieś 10/20px różnicy między hero a pozycją do której ma iść... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 14 Lutego 2010 Udostępnij Opublikowano 14 Lutego 2010 GML dis=point_distance(x,y,xx,yy); użyj point_distance();, bo to zwraca odległość między punktami. distance_to_point() zwróci 0 już wtedy kiedy obiekt się styka z tym punktem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 14 Lutego 2010 Autor Udostępnij Opublikowano 14 Lutego 2010 Platyna dzięki ci bardzo :). Działą jak należy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi