Skocz do zawartości

instance_nearest


Rekomendowane odpowiedzi

Nie jestem zaawansowanym uzytkownikiem GM - dopiero napisalem kilka skryptow. I trafilem na pewien maly problem.

Tworze sobie instancje obiektu - powiedzmy ludzik.

Po przeciwnej stronie sa obiekty dzialka ^^, ktore kieruja sie w kierunku najblizszych ludzikow i strzelaja:

 

direction = point_direction(x,y,instance_nearest(x,y,ludzik).x,instance_nearest(x,y,ludzik).y);

a = instance_create(x,y,kulka);

a.speed = x

 

Kod pewnie napisalem zle, bo pisalem z glowy. Chodzi o to, ze czasami program sie wysypywal, bo

nie istaniala zmienna instance_nearest(x,y,ludzik).x.

Pewnie chodzilo o to, ze jak jedno dzialko skierowalo sie na dana instancje ludzika i ja zniszczylo to drugie juz nie moglo pobrac x?

 

Jak sobie z tym poradzic?

W razie czego wkleje kod tworzonego skryptu.

 

Pytanie2) Jak sie odpala skrypty (ale te "globalne") po uruchomieniu roomu? Szukalem w pomocy ale tam jest tylko o prevent xxx, a ja chcę spradzić czy znadzzenie utworzenia roomu zaistnialo. Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Pewnie chodzilo o to, ze jak jedno dzialko skierowalo sie na dana instancje ludzika i ja zniszczylo to drugie juz nie moglo pobrac x?

tak, użyj funkcji, która sprawdza czy istnieje jakikolwiek ludzik.

 

GML
if instance_exists(ludzik)

{

a = instance_create(x,y,kulka);

a.speed = x;

a.direction = point_direction(x,y,instance_nearest(x,y,ludzik).x,instance_nearest(x,y,ludzik).y);

}

Odnośnik do komentarza
Udostępnij na innych stronach

Hmm. Nie o to mi chodzilo.

Ludziki są tworzone alarmem więc jest ich masowy napływ ^^

Chodzi mi o sytuację gdy powiedzmy 2 dzialka pobieraja tą samą instancję i jeden z nich ją niszczy, czy wtedy wygeneruje taki błąd, jeżeli drugie będzie chciało skorzystać z x tej instancji?

 

Pytanie dodatkowe. Jak się obsługuje alarm ze skryptów? Wstawic zdarzenie potrafię, ale czy się da to wszstko zrobić "pisząc"?

 

Dodatkowo owy błąd nie występuje, jeżeli zegar aktywujący zdarzenie strzelania (czyli ustawiania direction kulki na najbliższą instacnję ludzika) zwolnię z 2 na 5...

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