Skocz do zawartości

instance_nearest


Ice Cube

Rekomendowane odpowiedzi

jest żołnierz,

pociski którymi strzela

i 3 potwory

-zombi

-szkielet

-trup

 

jeżeli podejdzie do żołnierza potwór <250 żołnierz strzela w niego

 

zolnierz /step:

if distance_to_object(obj_zombi)<250
potwor=instance_nearest(x,y,obj_zombi)

instance_create(x,y,obj_pocisk)

 

pocisk:/create

speed=10

potwor=instance_nearest(x,y,obj_zombi)
direction=point_direction(x,y,potwor.x,potwor.y)

 

 

ale jak dodac kolejne potwory szkielet i trup

tak by zolnierz wybierał tego najblizej przed oddaniem nastepnego strzalu

 

i jeszcze jedno jak zrobic by nie strzelał jak potwor jest blisko niego,ale dzieli ich obj_mur ?

 

 

 

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

1. Użyj "dziedziczenia" (ustaw parent w GMie), w sensie dodaj obiekt obj_enemy i obiektom m. in. obj_zombi ustaw parent = obj_enemy (zrób to dla wszystkich wrogich jednostkach), wtedy wystarczy Ci tylko jedna funkcja od sprawdzania najbliższej instancji obj_enemy:

if distance_to_object(obj_enemy)<250 {
  var potwor = instance_nearest(x,y,obj_enemy)
  var pocisk = instance_create(x,y,obj_pocisk)
  pocisk.direction = point_direction(x,y,potwor.x,potwor.y)
}

obj_pocisk Create Event:

speed = 10

2. Sprawa się komplikuje, musisz pobrać wszystkie obiekty obj_enemy o dystansie < 250 i sprawdzać, od najbliższego, czy przypadkiem nie ma kolizji między obj_zolnierz a obj_sciana np. funkcją collision_line. (może ktoś ma lepszy pomysł nawet, ja nie bardzo :P)

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