ALT Opublikowano 3 Stycznia 2011 Udostępnij Opublikowano 3 Stycznia 2011 Co tu jest źle: GML (Global Left Button) if what = 2 { a = instance_nearest( x,y,gr ); instance_create(a.x,a.y,oo) b = instance_nearest(a.x,a.y,oo ) with( a ) { if ( b.image_index = 4 ) { if( image_index != 5 ) image_index += 1; } } } wywala taki błąd: ___________________________________________ ERROR in action number 1 of Mouse Event for Glob Left Pressed for object mm: Error in code at line 8: if ( b.image_index = 4 ) ^ at position 7: Unknown variable b Klikam ignore,robi ten obiekt co ma robić(oo[a]),ale nie robi tego z linijki 11,10,9 i 8! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 3 Stycznia 2011 Udostępnij Opublikowano 3 Stycznia 2011 w instancji a nie ma zmiennej b. Jest ona w obiekcie, w którym wykonywany jest ten kod. Jeżeli użyjesz zmiennej globalnej, lub odwołasz się do obiektu, który tworzy instancje, powinno zadziałać. B.T.W: Świeżo stworzona instancja ma image_index=0, a nie 4, więc kod w warunku nie zadziała NIGDY :)) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 3 Stycznia 2011 Filar Społeczności Udostępnij Opublikowano 3 Stycznia 2011 spróbuj GML other.b.image_index Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 3 Stycznia 2011 Udostępnij Opublikowano 3 Stycznia 2011 nn. leiej po stworzeniu a napisz: GML a.mama=id; a potem: GML if mama.a.image_index //...</span> LUB: po stworzeniu b: GML a.b=b; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 3 Stycznia 2011 Administratorzy Udostępnij Opublikowano 3 Stycznia 2011 GML var b; Na głównej jest o tym artykuł. Wykonując kod za pomocą with() wykonujemy go tak, jakby to był osobny klocek tylko w tamtym obiekcie. GML if (what == 2) { var a,b; //var powoduje, ze zmienne są dostępne również globalnie dla with i tylko do końca tego skryptu. a = instance_nearest( x,y,gr ); instance_create(a.x,a.y,oo); b = instance_nearest(a.x,a.y,oo); with(a) { if (b.image_index = 4 && image_index != 5 ) { image_index += 1; } } } Edit: zresztą, bez var i with też to działa: GML if (what == 2) { a = instance_nearest( x,y,gr ); instance_create(a.x,a.y,oo); b = instance_nearest(a.x,a.y,oo); if (b.image_index = 4 && a.image_index != 5 ) { a.image_index += 1; } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 3 Stycznia 2011 Udostępnij Opublikowano 3 Stycznia 2011 Jeszcze na wszelki wielki sprawdzaj czy instancje istnieją. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 4 Stycznia 2011 Udostępnij Opublikowano 4 Stycznia 2011 Nie tyle istnieją, co trzeba by było sprawdzić czy instance_nearest nie zwraca przypadkiem noone. 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ę