R.o.b Opublikowano 4 Października 2013 Udostępnij Opublikowano 4 Października 2013 Cześć! Od kilku dni zacząłem robić grę typu shot'em up. Po zrobieniu grafik itd. napotkałem niewielki problem. Chciałbym, aby przeciwnicy, byli tworzeni w odstępach ok 1-2 sekund na górze ekranu. Ułożyłem sobie taki kod w stepie: GML if ready=1{ switch (turn) { case 1: ready=0 alarm[0]=30 continue; case 2: ready=0 alarm[0]=30 continue; //[...] case 6: ready=0 alarm[0]=30 instance_create(145,15,obj_enemy1_blue); continue; // i tak dalej...</span> i kod w alarmie:GML turn+=1; ready=1; Kod działa poprawnie, tylko wstawianie kolejnych fal przeciwników jest czasochłonne i mało praktyczne. Chciałbym, aby ten system był prostszy i prawdopodobnie mnie obciążający system. Poczytałem w internecie, że mógłbym spróbować zrobić tablicę dwuwymiarową i z niej odczytywałbym pozycję, typ i czas w którym mają się pojawić przeciwnicy, ale nie wiem jak się za to zabrać ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 4 Października 2013 Udostępnij Opublikowano 4 Października 2013 Nie czaje tego kodu ;) Case 1 i 2 robią to samo a 6 spawnuje tylko 1 przeciwnika? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
R.o.b Opublikowano 4 Października 2013 Autor Udostępnij Opublikowano 4 Października 2013 Tak, wiem kod dziwny. Jest to fragment, 1-5 nic nie robi (pusta fala), dopiero 6 i kolejne, których nie wkleiłem spawmuja przeciwników. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 4 Października 2013 Udostępnij Opublikowano 4 Października 2013 Zamiast wpisywać to samo po kolei robisz: case 1: case 2: case 3: case 4: case 5: //twoj kod break; Czytelniej i szybciej :) A co do samego spawnu to bym nie robił fali na switchu tylko zrobił skrypt spawnujący przeciwnikow i ich ilość w zależności od numeru fali. Miałbyś wszystko w kilku linijkach. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
R.o.b Opublikowano 4 Października 2013 Autor Udostępnij Opublikowano 4 Października 2013 Chyba rozumiem. Czyli mógłbym zrobić alarm, który co x czasu zwiększałby mi zmienną turn o 1 i sprawdzanie, np. przy fali 10 spawmuje mi przeciwnika nr 2 w miejscy x,y, tak? Byłoby to czytelniejsze itd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 4 Października 2013 Udostępnij Opublikowano 4 Października 2013 Tak :) Robisz w alarmie coś w stylu GML repeat(numer_fali *ilość przeciwników) { instance_create(obiekt_przeciwnika,x,y); } numer_fali+=1; //lub numer_fali++; jesli robisz w studio alarm0=czas_fali; Nie jestem pewny co do kolejności argumentów w instance_create. Dawno nie siedziałem w gmie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ereg Opublikowano 4 Października 2013 Udostępnij Opublikowano 4 Października 2013 piszesz o falach , ale chyba niechcesz fale spawnowac w tym samym czasie nie? by w 1 stepie naspawnowac naprzyklad 10 enemy.(to zrobi ci kod adama :) ) piszesz tez "Chciałbym, aby przeciwnicy, byli tworzeni w odstępach ok 1-2 sekund na górze ekranu" to mozesz uzyc GML alarm[0]=irandom_range(_czas_min*room_speed,_czas_max*room_speed);w alarm 0 a sam siebie bezdzie aktywowal co _czas_min az _czas_max sec dalej chces cos v rodzaju RTYPE (kdzie enemy z kazdo gro bylii na tym samym miesjcu a ruszali sie po tej samej droze) lub wystarczy random? jezeli RTYPE to mozesz uzyc do kontroli spawnu zmiennej current_time a do odzyskiwania wartosci zmiennych( _fala, ilosc_enemy, _ pozycje_x,...) czytanie z file( ini, bin) zaleznie na skomplikowanosci projektu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 4 Października 2013 Udostępnij Opublikowano 4 Października 2013 Ja bym jeszcze czas obliczał uwzględniając numer fali, bo przy większych ilościach to GM (wersje < Studio z YYC) nie wyrobi przy tylu obiektach, albo dawałbym następną falę po zniszczeniu wszystkich przeciwników z poprzedniej. 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ę