Skocz do zawartości
Ice Cube

instance_nearest

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 ?

 

 

 

 

 

 

Udostępnij tego posta


Odnośnik do posta
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)

  • Lubię (+1) 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×