Filar Społeczności Wojzax Opublikowano 18 Maja 2015 Filar Społeczności Udostępnij Opublikowano 18 Maja 2015 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 Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 18 Maja 2015 Udostępnij Opublikowano 18 Maja 2015 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 Więcej opcji udostępniania...
Filar Społeczności Wojzax Opublikowano 18 Maja 2015 Autor Filar Społeczności Udostępnij Opublikowano 18 Maja 2015 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 Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 19 Maja 2015 Udostępnij Opublikowano 19 Maja 2015 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 Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 19 Maja 2015 Administratorzy Udostępnij Opublikowano 19 Maja 2015 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 Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę