Skocz do zawartości

problem z AI


Thobby

Rekomendowane odpowiedzi

chodzi o to że obiekt ma strzelać, a kiedy na drodze pomiędzy nim a obiektem w którego stronę ma strzelać będzie jakiś obiekt solid, sprawdza z której strony tego solidu nie ma innego solidu, i przesuwa się po kole (tak aby środkiem tego koła był dany solid), aby nie strzelać do np. drzewa czy ściany :P

Odnośnik do komentarza
Udostępnij na innych stronach

chodzenie po kole to by było tak:

GML
var punktx,punkty,odleglosc,kierunek;

punktx=}

} tutaj pozycja x i y wokoł ktorej ma sie kręcić

punkty=}

odleglosc=odleglosc od tego punktu - taka jakby srednica tego kola;]

kierunek=kierunek od tego punktu

//i teraz:

x=punktx+lengthdir_x(odleglosc,kierunek)

y=punkty+lengthdir_y(odleglosc,kierunek)

i to dajesz w obiekcie ktory ma sie krecic po kole.. zrob zeby np zmienna kierunek wciaz sie dodawala to bedzie sie w kolko krecic.. i najlepiej daj bariere ze jak =360 to =0 zeby sie nie wiadomo jaka liczba zrobila

pozdro

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

no cóż, chyba jednak nie działa. próbowałem tak:

GML
{

prz=instance_nearest(x,y,przeszkoda);

if distance_to_point(hero.x+lengthdir_x(200,point_direction(hero.x,hero.y,x,y)+90),

hero.y+lengthdir_y(200,point_direction(hero.x,hero.y,x,y)+90)) < distance_to_point(hero.x+lengthdir_x(200,point_direction(hero.x,hero.y,x,y)-90),

hero.y+lengthdir_y(200,point_direction(hero.x,hero.y,x,y)-90))

{mp_potential_settings(180,10,4,1);

mp_potential_step(prz.x+lengthdir_x(50,point_direction(x,y,prz.x,prz.y)),prz.y+lengthdir_y(50,point_direction(x,y,prz.x,prz.y)+90),4,0);

}

else if distance_to_point(hero.x+lengthdir_x(200,point_direction(hero.x,hero.y,x,y)+90),

hero.y+lengthdir_y(200,point_direction(hero.x,hero.y,x,y)+90)) > distance_to_point(hero.x+lengthdir_x(200,point_direction(hero.x,hero.y,x,y)-90),

hero.y+lengthdir_y(200,point_direction(hero.x,hero.y,x,y)-90))

{mp_potential_settings(180,10,4,1);

mp_potential_step(prz.x+lengthdir_x(50,point_direction(x,y,prz.x,prz.y)),prz.y+lengthdir_y(50,point_direction(x,y,prz.x,prz.y)-90),4,0);

}

}

ale też sie zacina przy tym drzewie :/

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