Skocz do zawartości

2 graczy 2 życia


Lechu4444

Rekomendowane odpowiedzi

Robię strzelankę dla dwóch osób. Chcę aby każda z osób dostała 3 życia i gdy jedna dostanie pociskiem to traci jedno. Aby osoba traciła życie już zrobiłem zrobiłem też system strzelania i chodzenia. Jenak gdy strzele 2 kule w 1 gracza a w drugiego jedną kule. Wyświetla się komunikat że wygrał gracz 1. Jestem początkującym i nie znam za bardzo gml i robię gry przez akcje. Czy jest jakieś rozwiązanie aby każdy gracz miał swoje życia?? THX z góry i sorka że nie poszukałem na forum dokładniej odpowiedzi na pytanie jeśli ten temat już był to proszę o wysłanie mi linku.

Odnośnik do komentarza
Udostępnij na innych stronach

Robię strzelankę dla dwóch osób. Chcę aby każda z osób dostała 3 życia i gdy jedna dostanie pociskiem to traci jedno. Aby osoba traciła życie już zrobiłem zrobiłem też system strzelania i chodzenia. Jenak gdy strzele 2 kule w 1 gracza a w drugiego jedną kule. Wyświetla się komunikat że wygrał gracz 1. Jestem początkującym i nie znam za bardzo gml i robię gry przez akcje. Czy jest jakieś rozwiązanie aby każdy gracz miał swoje życia?? THX z góry i sorka że nie poszukałem na forum dokładniej odpowiedzi na pytanie jeśli ten temat już był to proszę o wysłanie mi linku.

 

Nie wiem czy dobrze zrozumiałem:

 

Gracz 1:

Create:

GML
hp = 100

 

Draw:

GML
draw_set_color( c_white );

draw_rectangle( x - 20, y - 21, x + 20, y - 18, 0 );

draw_set_color( c_red );

draw_rectangle( x - 20, y - 21, x - 20 + ( hp / 2.5 ), y - 18, 0 );

draw_set_color( c_black );

draw_rectangle( x - 20, y - 21, x + 20, y - 18, 1 );

 

Gracz 2:

Create:

GML
hp = 100

 

Draw:

GML
draw_set_color( c_white );

draw_rectangle( x - 20, y - 21, x + 20, y - 18, 0 );

draw_set_color( c_red );

draw_rectangle( x - 20, y - 21, x - 20 + ( hp / 2.5 ), y - 18, 0 );

draw_set_color( c_black );

draw_rectangle( x - 20, y - 21, x + 20, y - 18, 1 );

 

X i Y możesz pozmieniać tak, aby Tobie pasowało w grze :)

 

A jeśli chcesz, aby pasek poruszał się za graczem do x dodaj:

GML
+view_xview[0]

a do y:

GML
+view_yview[0]
Odnośnik do komentarza
Udostępnij na innych stronach

create pierwszego gracza:

zycie1=3;

 

create drugiego gracza:

zycie2=3;

 

 

w kolizji z pociskiem (pierwszy gracz)

zycie1-=1;

 

 

w kolizji z pociskiem (drugi gracz)

zycie2-=1;

 

w create kontrolera

 wygrana=0;

 

w stepie kontrolera

if zycie1==0
{
wygrana=1;
}
eslse if zycie2==0
{
wygrana=2;
}


if (wygrana==1) 
{
//wyswietl obrazek lub coś
}
else if (wygrana==2)
{
//wyswietl obrazek 2;
}

Odnośnik do komentarza
Udostępnij na innych stronach

zycie1, zycie2 mozna zmienic na zycie i zrobic adresowanie gdzie nalezy ( w kontrolerze )... a jak juz ma byc to zycie1, zycie2 to muszą być globalne, albo adresowanie ale wtedy nie widze powodu innych nazw.

 

A jak zrobić te zmienne globalne, albo adresowanie, bo jak już mówiłem jestem bardzo początkujący.

Odnośnik do komentarza
Udostępnij na innych stronach

w takim wypadku odradzam zmienne globalne. Zastosuj lokalne sirluki ci podał co masz zrobić.

GML
//adresujesz np. tak :

nazwa_obiektu.nazwa_zmiennej=wartość;

 

//albo podając jego id:

numerid.nazwa_zmiennej=wartość;

 

//możesz też poprzez with:

with (nazwa_obiektu) {coś tam;}

 

//albo zaraz przy tworzeniu instancji pobrać jego id i przechować w zmiennej np tak:

i=instance_create(x,y,obj);

i.nazwa_zmiennej=wartość;

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