XxMichałxX Opublikowano 4 Kwietnia 2009 Udostępnij Opublikowano 4 Kwietnia 2009 GML x=o_wieza.x y=o_wieza.y var near; near=instance_nearest(x,y,o_enemy) dir=point_direction(x,y,near.x,near.y) if direction>=360 direction=0 if direction<dir direction+=1 if direction>dir direction-=1 image_angle=direction czemu direction nigdy nie rowna sie dir? .. ;/ e: moze trzeba zaokrąglić dir? ale to lipa bo ja bym chcial zeby np sie szybciej ta lufa obracała a przeciez nie trafi jak bedzie +=5 lub -=5 .. jak to zrobic lepiej? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 4 Kwietnia 2009 Udostępnij Opublikowano 4 Kwietnia 2009 Lol, Twoja wyobraźnia mnie powala... if direction<dir direction+=1 Weźmy taki przykład: dir=10, a direction = 350. direction>dir, a więc będzie się odejmować... a wystarczyło by tylko dodać do direction 20. Ale pomiśmy to. Może jakimś cudem tak ma być... :D A więc: Zamiast: if direction<dir direction+=1 Daj: if direction<dir direction+= min(1, abs(angle_difference(direction, dir))); Hmmm... chyba, ze coś zchrzaniłem :) Ed: GML //angle_difference(dir1, dir2) return ((((argument0-argument1) mod 360)+540) mod 360)-180; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 4 Kwietnia 2009 Autor Udostępnij Opublikowano 4 Kwietnia 2009 chyba tak bo sie lufa nie rusza ; d a moze lepiej zrobic tak, ze ma isc lufa w strone tego enemy co jest najblizszy dir.. ale jak to zrobic? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 4 Kwietnia 2009 Udostępnij Opublikowano 4 Kwietnia 2009 chyba tak bo sie lufa nie rusza ; dJak nie rusza :P ? Musi się ruszać. A zaraz to sprawdzę xd Pierwszy raz w swojej "karierze" piszę takie coś: Poczekaj, zarz editnę post. Ed: Łap, normalnie zrobione. GML dir=point_direction(x, y, obj_enemy.x, obj_enemy.y); if(angle_difference(direction, dir) < 0) { direction += min(3, abs(angle_difference(direction, dir))); } else if(angle_difference(direction, dir) > 0) { direction -= min(3, abs(angle_difference(direction, dir))); } image_angle = direction; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę