Skocz do zawartości

Instance


ALT

Rekomendowane odpowiedzi

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

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

  • Administratorzy

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

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