Skocz do zawartości

problem z instance create i deactivate


pamparampa

Rekomendowane odpowiedzi

mam kod

GML
if obrot=1

{if y>=542

{midblok=0

if !midblok

{instance_create(obj_klocek1_1.x,obj_klocek1_1.y,obj_klocek1_5)

instance_create(obj_klocek1_2.x,obj_klocek1_2.y,obj_klocek1_5)

instance_create(obj_klocek1_3.x,obj_klocek1_3.y,obj_klocek1_5)

instance_create(obj_klocek1_4.x,obj_klocek1_4.y,obj_klocek1_5)

instance_deactivate_object(obj_klocek1_1)

instance_deactivate_object(obj_klocek1_2)

instance_deactivate_object(obj_klocek1_3)

instance_deactivate_object(obj_klocek1_4)

y=0

midblok=1

}

}

}

i jak obiekt dochodzi do y=542 to pojawia się error, że nieznany obj_klocek1_1.x. dlaczego tak się dzieje skoro najpierw robi się instance_create a dopiero później instance_deactivate?

Odnośnik do komentarza
Udostępnij na innych stronach

obj_klocek1_1.x czyli, błąd musi być przy instance_create. Na pewno ten obiekt (...klocek1_1) jest stworzony przed wykonaniem warunku?

 

ED:

GML
{midblok=0

if !midblok

{instance_create(obj_klocek1_1.x,obj_klocek1_1.y,obj_klocek1_5)

instance_create(obj_klocek1_2.x,obj_klocek1_2.y,obj_klocek1_5)

instance_create(obj_klocek1_3.x,obj_klocek1_3.y,obj_klocek1_5)

instance_create(obj_klocek1_4.x,obj_klocek1_4.y,obj_klocek1_5)

instance_deactivate_object(obj_klocek1_1)

instance_deactivate_object(obj_klocek1_2)

instance_deactivate_object(obj_klocek1_3)

instance_deactivate_object(obj_klocek1_4)

y=0

midblok=1

}

}

Czemu służy ten kod? :o
Odnośnik do komentarza
Udostępnij na innych stronach

Zrobiłem wg Twojego kodu przykład.

Za pierwszym razem, gdy object0 przekroczył 548y, pojawiły się 4 obj_klocek1_5, ale za drugim razem - ten sam błąd.

Tamte obiekty zostały zdezaktywowane, więc to naturalne, że nie można ich wykryć.

Gdy usunąłem:

 

midblok=0

 

błąd zniknął.

Odnośnik do komentarza
Udostępnij na innych stronach

obj_klocek1_1.x czyli, błąd musi być przy instance_create. Na pewno ten obiekt (...klocek1_1) jest stworzony przed wykonaniem warunku?

 

ED:

GML{midblok=0

if !midblok

{instance_create(obj_klocek1_1.x,obj_klocek1_1.y,obj_klocek1_5)

instance_create(obj_klocek1_2.x,obj_klocek1_2.y,obj_klocek1_5)

instance_create(obj_klocek1_3.x,obj_klocek1_3.y,obj_klocek1_5)

instance_create(obj_klocek1_4.x,obj_klocek1_4.y,obj_klocek1_5)

instance_deactivate_object(obj_klocek1_1)

instance_deactivate_object(obj_klocek1_2)

instance_deactivate_object(obj_klocek1_3)

instance_deactivate_object(obj_klocek1_4)

y=0

midblok=1

}

} Czemu służy ten kod? :o

robię tetrisa i spadające obiekty(obj_klocek1_1/2/3/4) zostawiają na dole obiekty, które je zastępują (obj_klocek1_5), żeby tamte mogły być ponownie użyte

Ps już opanowałem sytuację tak że dzięki za chęci

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