Skocz do zawartości

Dlaczego pętla nie działa??


garst

Rekomendowane odpowiedzi

Napisałem pętle, która ma za zadanie stworzyc obiekty obj_ufo2 kiedy obj_ufo zostaną zniszczone. Problem polega na tym, że obj_ufo2 jest tworzony od razu na poczatku gry i tworzy sie go w nieskonczonosc

 

switch (instance_number(obj_ufo)=0)

{

case (instance_number(obj_ufo)=0): instance_create(80,32,obj_ufo2); break;

case (instance_number(obj_ufo2)=1): instance_create(80,32,obj_ufo2); break;

}

Odnośnik do komentarza
Udostępnij na innych stronach

powinienes zrobic mniej wiecej cos takiego (napisze w pseudo kodzie bo nie znam skladni gm-owej):

jesli ( obj_ufo->zniszczony i ufo_2-> nie stworzony ){

dopoki(i mniejsze od ilosc ufo_2){

stworz ufo_2

zwieksz i o jeden

}

}

 

wklej to do petli glownej gry, przpisz na kod gmclanowy

 

POŁĄCZONE:

 

Jesli masz klase destroy od ufo1 to mozesz tam wkliec ten kod bez if-ow, tylko sama petle tworzaca:

 

dopoki(i mniejsze od docelowa ilosc statkow ufo_2){

stworz jeden nowy ufo_2

zwieksz i o jeden

}

 

jak tylko nie pomylisz cos w implementacji nie ma prawa nie dzialac

Odnośnik do komentarza
Udostępnij na innych stronach

Zacznijmy od tego, że pętla nie działa dlatego, że switch to nie pętla, a jedynie 'funkcja', która się wykonuje co step (pętla wykonuje się parę razy w stepie). GSFO: To zrobi parę ufoludków w jednym stepie, ale jeśli on chce co step (bo skoro switch pomylił z pętlą to skąd wiadomo, że mu o to chodzi co napisałeś) to poprostu zrób obiekt z kodem:

GML
if(instance_number(obj_ufo)=0)

{

//możesz tu wstawic petle jesli chcesz pare ufokow zrobic

instance_create(x,y,obj_ufo2);

}

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
Zacznijmy od tego ze switch to nie funkcja :P, ale ogolnie masz racje.

 

 

GML
//skrypt: test();

zmienna = argument0;

 

if zmienna == 1 { break;}

else if zmienna == 2 { break;}

else break;

 

No to masz funkcję co się nazywa test(); :) Powiedz, że to nie to samo co switch :) Owszem, switch to jest instrukcja, ale funkcją można też to nazwać :)

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