garst Opublikowano 12 Stycznia 2009 Udostępnij Opublikowano 12 Stycznia 2009 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 Więcej opcji udostępniania...
Misiek999 Opublikowano 12 Stycznia 2009 Udostępnij Opublikowano 12 Stycznia 2009 raczej switch (instance_number(obj_ufo)) { case 0 : // kod; break; case 1 : // kod; break; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Indrycho Opublikowano 12 Stycznia 2009 Udostępnij Opublikowano 12 Stycznia 2009 daj ten kod w eveńcie destroy,a to w razie czego Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
garst Opublikowano 12 Stycznia 2009 Autor Udostępnij Opublikowano 12 Stycznia 2009 hmm nie pomoglo mi to(mowie do miska) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
getStringFromObject Opublikowano 12 Stycznia 2009 Udostępnij Opublikowano 12 Stycznia 2009 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 Więcej opcji udostępniania...
ZeroXbot Opublikowano 12 Stycznia 2009 Udostępnij Opublikowano 12 Stycznia 2009 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 Więcej opcji udostępniania...
getStringFromObject Opublikowano 13 Stycznia 2009 Udostępnij Opublikowano 13 Stycznia 2009 Zacznijmy od tego ze switch to nie funkcja :P, ale ogolnie masz racje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 13 Stycznia 2009 Administratorzy Udostępnij Opublikowano 13 Stycznia 2009 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 Więcej opcji udostępniania...
Firemark Opublikowano 13 Stycznia 2009 Udostępnij Opublikowano 13 Stycznia 2009 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 to metoda , nie funkcja. A jak dam w create? to się dalej będzie wykonywać co 'step' o_O? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pental Stary Opublikowano 13 Stycznia 2009 Udostępnij Opublikowano 13 Stycznia 2009 Ale macie dylemat - switch to instrukcja. A jeśli ktoś uważa, że nią nie jest, to napiszę ogólniej - switch to wyraz kluczowy... 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ę