Skocz do zawartości

Problem z ID :(


Rekomendowane odpowiedzi

  • Filar Społeczności

Mam problem którego nie potrafię rozgryźć od jakiegoś czasu:

Mam powiedzmy 3 obiekty: enemy1, enemysight i patrol1

 

w create enemy1 mam m.in. taki kod:

 

GML
twor=instance_create(x,y,enemysight)

twor.cel=self.id

 

twor2=instance_create(x,y,patrol1)

twor2.cel2=self.id

 

czyli rozumiem że każdemu enemy1 przydzielam po jednym enemysighcie i po jednym patrolu1.

O ile jednak w obiekcie enemysight mogę się odwoływać do "cel", np działa takie coś:

GML
if(instance_exists(cel))then

 

to w obiekcie patrol1 nie mogę się odwoływać do "cel2", bo

GML
if(instance_exists(cel2))then

^

at position 20: Unknown variable cel2

 

dlaczego tak jest?

Odnośnik do komentarza
Udostępnij na innych stronach

Spróbuj bez self. u mnie działa bez tego.

A tak poza tym widzę, że ma instance_exist zarówno celu2 jak i celu.Skoro na starcie zmieniasz zmienne w innym obiekcie, to pewnie ten tworzony obiekt nie create. więc powinno być tak:

GML
twor=instance_create(x,y,enemysight)

twor.cel=id

twor.cel2=0

twor2=instance_create(x,y,patrol1)

twor.cel=0

twor2.cel2=id

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

rzeczywiście,

GML
if(instance_exists)
działa tylko w stepie tworzonych obiektów, a nie w create, ale wciąż rozkminiam dlaczego.
Odnośnik do komentarza
Udostępnij na innych stronach

Działa cały czas, ale jak miałeś to w create, to wtedy nie miałeś zdeklarowanych zmiennych cel/cel2.

A jak robisz coś takiego, że tworzysz i od razu tam przypisujesz zmienne, to w create ich nie możesz zadeklarować, więc bugi się robią :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Domyślnie deklaruj obie zmienne jako 0, wykona się event create (jak robisz instance_create), a potem wykona się Twoje przypisanie zmiennych, które jest w drugiej linijce. Dlaczego nie przypisywać liczb ujemnych do zmiennych dowiesz się tutaj: http://code.gnysek.pl/45/instance-exists-p...mi-wartosciami/

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