Skocz do zawartości
gromson101

Po zabiciu 10 wrogów przejdź do kolejnego levelu(roomu)

Rekomendowane odpowiedzi

Jak zrobić, żeby po zabiciu np. 10 wrogów, przejść do kolejnego poziomu(roomu) ?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

1. W objekcie kontroli pokoju (jeśli go nie masz to zróB) dodaj event ,,step" a w nim akcję ,,Test Instance Count" wypełełń ją prawidłowo:

object: <nazwa objektu wroga>

number: 0

operation: Equal to

 

Zadziała jeśli rodzaj wroga jest tylko 1.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

create:

GML
zabojstwa=0

po zabiciu kazdego wroga dodawaj zmienna

GML
zabojstwa+=1

step:

GML
if zabojstwa>=10 room_goto(twoj_room)

//jezeli to ma byc kolejny room to mozna room_goto_next()</span>

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Oczywiście tego ifa można przenieść ze stepa i dać go bezpośrednio po zabiciu wroga

GML
zabojstwa+=1;

if zabojstwa>=10 room_goto(twoj_room);

Wtedy nie będzie if sprawdzany w nadmiarze. Oczywiście to szczegół, ale dobre nawyki zawsze warto wyrabiać. :P

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

kurka nie wiem gdzie to mam wklepac...mam obj_bullet, obj_zombie(wrog) i obj_player. wklepalem w obj_zombie i nic sie nie dzieje

 

Create - zabojstwa = 0;

Step - if (zabojstwa >= 10){room_goto(rm_gameover);}

Colission.obj_bullet - zabojstwa += 1;

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
kurka nie wiem gdzie to mam wklepac...mam obj_bullet, obj_zombie(wrog) i obj_player. wklepalem w obj_zombie i nic sie nie dzieje

 

Create - zabojstwa = 0;

Step - if (zabojstwa >= 10){room_goto(rm_gameover);}

Colission.obj_bullet - zabojstwa += 1;

 

Jeśli jak zabijasz zombie I usuwasz je z room-u, I masz jedynie 10 zombie - to znaczy ze nie ma wrogów żeby ta akcja została wykonana.

Wklej w obj_player.

 

Albo możliwe za każdym razem gdy tworzysz zombie twoje zabójstwa się resetują przez kod w Create.

 

 

Najlepiej wklej wszystko w obj_player oprócz Colission.obj_bullet

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

zmienną zabojstwa zmień na global.zabojstwa i kod z create wytnij do create obj_player (lub ewentualnie jakiegoś innego obiektu który tworzy się tylko raz na początku)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

GRACZ/KONTROLER:

 

EVENT CREATE/ROOM START:

 

EXECUTE CODE:

 

GML
global.zabojstwa = 0;

 

EVENT BEGIN STEP/STEP/END STEP:

 

EXECUTE CODE:

 

GML
if global.zabostwa == 10

{

room_goto_next;

}

POTWOREK:

 

MOMENT GDZIE POTWÓR GINIE (powinieneś mieć tam instance_destroy):

 

EXECUTE CODE:

 

GML
global.zabojstwa+=1;

 

 

 

__________________________________________

Tak posłuchałem waszych świetnych rad

i uczę się "dobrych nawyków" w programowaniu :D

@Misiek999 Nie chodzi o ciebie ;)

__________________________________________

 

 

[Do pytającego]

Jak to ma być? Ta butelka ma coś robić? Bo z tego co wynika jest tak:

 

1) Jest sobie gracz

2) Są potworki

3) Gracz zabija 10 potworków

4) Idzie do następnej planszy

 

Coś jeszcze do tego? ^^^

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×