Skocz do zawartości

2 graczy


Moldis

Rekomendowane odpowiedzi

Mam problem otóż robie grę na 2 osoby. Zrobiłem 2 obiekty (gracz1 i gracz2) i nie mam zielonego pojęcia jak zrobić do tego controler życia. Wpadłem na pomysł aby w danym obiekcie zrobić co się ma stać kiedy skończy się hp. Ustawiłem że jeśli się ono skończy to ma odjąć 1 życie ustawić z powrotem 100 energii i przenieść gracza na pozycję startową. Jednak gdy gracz ginie od razu traci wcześniej ustawione 2 życia. W dodatku nie wiem jak mogę wyświetlić na ekranie energie jednego i drugie po drugiej stronie.

Odnośnik do komentarza
Udostępnij na innych stronach

Na początku gry powinieneś zainicjować zmienną globalną zycie[0] i zycie[1] (dla 1. i 2. gracza). To samo zrób z odpowiednikiem health - zdrowie.

 

CREATE:

 

global.zycie[0]=3
global.zycie[1]=3
global.zdrowie[0]=100
global.zdrowie[1]=100

 

I po prostu używać ich jak lives/health. Ważne jest jednak, by ta akcja nie znajdowała się w ramce z poziomem.

 

Jak pokazywać pasek życia dla obydwu graczy? Gdzieś na forum jest mój przykład "Liczniki", może się przydać.

 

A tu daję kod, tak na szybko:

 

draw_set_color(dowolnykolor)
draw_rectangle(32,32,132,64,0)
draw_rectangle(508,32,608,64,0)
draw_set_color(dowolnykolor)
draw_rectangle(32,32,32+global.zdrowie[0],64,0)
draw_rectangle(508,32,508+global.zdrowie[1],64,0)
draw_set_color(c_black)
draw_rectangle(32,32,132,64,1)
draw_rectangle(508,32,608,64,1)

Odnośnik do komentarza
Udostępnij na innych stronach

wyskakuje mi teraz błąd:

 

Error in code at line 6

 

draw_rectangle(508,32.....)

 

at position 35:Unknow warible zdrowie or array index out of bounds

 

@EDIT

przepraszam ale źle wcześniej to napisałem :/

 

@EDIT2

aha juz rozwikłałem sprawę była literówka w wyrazie XD

Odnośnik do komentarza
Udostępnij na innych stronach

wyskakuje mi teraz błąd:

error in action number 1 of draw_rectangle(508,32.....)

 

at position 35:Unknow warible zdrowie or array index out of bounds

 

A w którym obiekcie zainicjowałeś zmienne i czy jest ten obiekt może na planszy? ;)

 

I, zapomniałem dodać, akcje:

 

draw_set_color(dowolnykolor)
draw_rectangle(32,32,132,64,0)
draw_rectangle(508,32,608,64,0)
draw_set_color(dowolnykolor)
draw_rectangle(32,32,32+global.zdrowie[0],64,0)
draw_rectangle(508,32,508+global.zdrowie[1],64,0)
draw_set_color(c_black)
draw_rectangle(32,32,132,64,1)
draw_rectangle(508,32,608,64,1)

 

najlepiej daj w tym samym obiekcie w "Draw".

Odnośnik do komentarza
Udostępnij na innych stronach

mam teraz następny problem gdzie mogę ustawić aby np jak graczowi 1 skończy się hp to ma mu odjąć 1 życie i przenieść na miejsce startu.

I jak się skończą wszystkie życia to żeby się pojawił napis gracz 2 wygrał lub gracz 1 wygrał.

 

i jeszcze coś jak mogę operować na globalnych w gml'u np odejmować od nich albo dodawać ? bo się go dopiero uczę

 

@Edit

 

juz wiem jak się operuje na nich ;D

Odnośnik do komentarza
Udostępnij na innych stronach

mam teraz następny problem gdzie mogę ustawić aby np jak graczowi 1 skończy się hp to ma mu odjąć 1 życie i przenieść na miejsce startu.

I jak się skończą wszystkie życia to żeby się pojawił napis gracz 2 wygrał lub gracz 1 wygrał. BO kompletnie nie znam się na gml'u wszystko buduje w klockach

 

1. Wystarczy skrypt z użyciem if (jeśli):

 

if global.zdrowie[0]<=0 //jeśli zdrowie jest mniejsze/równe 0, to
{
  global.zdrowie[0]=100 //ustaw życie na 100
  global.zycie[0]-=1 //lecz odejmij życie
  x=xstart //przywróć początkową pozycję x
  y=ystart //przywróć początkową pozycję y
  if global.zycie[0]=0 //jeśli żyć 0, to
  {
     show_message("Wygrał gracz drugi!") //pokaż wiadomość
     game_restart() //zresetuj grę
  }
}

 

Kod wstawiamy w STEP obiektu gracza 1. Przy graczu sprawa jest identyczna, z tą tylko różnicą, że zamieniamy [0] na [1].

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