Skocz do zawartości

Skieruj do najbliższego...


Rekomendowane odpowiedzi

Witam znów ;) Mam problem następujący: robię platformówkę i jest opcja strzału, pocisk jest samo naprowadzający, jednak gdy na ekranie występuje kilku gości (np 5 obj. wrog), w których jest skierowany pocisk, to ten wariuje i gdzieś ucieka... Jaki jest kod na to, aby leciał w obj. wróg, ale w najbliższego? Poza tym, jeszcze jedno pytanko tak apropos :) Jeśli jest wróg1 i wróg2, to jak ustawić, że direction pocisku idzie do wroga2 (jest że tak powiem priorytetem ;p)

 

 

 

Z góry dziękuję

Odnośnik do komentarza
Udostępnij na innych stronach

1. instance_nearest

 

 

 

Jest Ok, a co do drugiego, to chyba wymyśliłem

 

 

GML
if(instance_exists(wrog2))

 

{

 

direction_point...wróg2

 

}

else

{

direction_point...wróg1

}

 

Idę próbować ;)

 

e:hmm a jednak nie jest tak kolorowo... Leci w stronę obj.wrog, ale tylko pierwszego... A jak podejde do reszty, to znow wariuje :/ No i co poradzisz?

kod wygląda tak:

if(instance_exists(wrog))
{
    direction=instance_nearest(x,y,wrog)
}

Odnośnik do komentarza
Udostępnij na innych stronach

Po prostu strzelam pociskiem, on wylatuje, ale nie kieruje się w ogóle do najbliższego wroga, tylko leci gdzieś za room, a jak jest jeden wróg, to wszystko dobrze, tylko bez kodu instance_nearest... :/ czytałem w helpie GMa, że trzeba coś z Id obiektu, jednak nie bardzo rozumiem.

Odnośnik do komentarza
Udostępnij na innych stronach

A więc tak:

 

Instance nearest zwraca id instancji, czyli jakby pojedynczego przeciwnika - nawet, jeśli w romie jest kila obj_wrog, id wskazuje zawsze na tylko jednego z nich.

GML
ins = instance_nearest(x, y, obj_wrog);

//I teraz mozesz "kontrolowac" instancje najblizszego przeciwnika - masz jego id :D Np.

//show_message(string(ins.hp)); - pokaze ci hp tego (najbliższego) gracza

direction = point_direction(x, y, ins.x, ins.y); //TO juz chyba znasz - x,y to wspolrzedne pocisku, ins.x i ins.y odwoluja sie do wspolrzednych najblizszego przeciwnika</span>

I ten kod MUSI działać.

Jak nie działa - daj plik, naprawimy :)

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