Skocz do zawartości

Rekomendowane odpowiedzi

Witam.

Robię gre (platformówkę) dla dwóch graczy i nie wiem jak zrobić życia nad głowami tych dwóch graczy. Dla jednego gracza umiem, ale jak robie przy drugim to życia odbiera oby dwóm. :crying:

Z góry THX.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

klocków nie używam od danwa(prawde mówiąc nigdy nie używałem) ale wydaje mi sie że zmienna health w klocku to zmienna globalna, zatem musisz ustalić nową zmienną lokalną np. energia i ustalić jąlokalną dla jednego objektu , precyzyjniej mówiąc każdy objekt nawet o tym samym rodzaju będzie miał własną energie , wtym celu ustawiasz na self i wpisujesz własną zmienną np. energia=100

w ten sposób będzie wszystko dobrze :D

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

nie przypuj energi do zmiennej health tylko stwórz własną np. global.zycie1 i global.zycie 2 i wtedy odejmuj życie pierwszemu graczowi z pierwszej, drugiemu z drugiej. Jak będziesz chciał przyklady kodu podaj swoją wersję Game Makera.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Prubowałem już tym sposobem tylko mi jakoś nie wychodziło.

A jak dają, trza brać, moja wersja w której robię tę grę to 5.3A :D

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Może zrobiłbym przykład ,ale wiesz... jakby ci to powiedzieć , no powiedz mi ile chcesz na to wydać. Bardzo proszę abyś mi podał w walucie Euro, gdyż ja już nie posługuje się walutą ZŁ i nie chce mi się tego przeliczać. :P

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Obiekt Gracz1 | create

zycie=100;

jakies zdarzenie, moze byc kolizja, wcisniecie klawisza or smth.

zycie=zycie-10;

W stepie dajesz

if (zycie=0) {
akcja
};

 

Obiekt Gracz2 | create

zycie=100;

jakies zdarzenie, moze byc kolizja, wcisniecie klawisza or smth.

zycie=zycie-10;

W stepie dajesz

if (zycie=0) {
akcja
};

 

=='

 

Bigshark, a może w funtach ? =D

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

ja myślę, że leszpy nyłby kod

if zycie<=0{
//akcja w przypadku smierci
}

bo jak np. będziesz miał 3 energi i zabierze Ci 10 to niebardzo zero wyjdzie a -7 :D

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
ja myślę, że leszpy nyłby kod

if zycie<=0{
//akcja w przypadku smierci
}

bo jak np. będziesz miał 3 energi i zabierze Ci 10 to niebardzo zero wyjdzie a -7 :D

 

Jakby zmienna była unsigned to by -7 nie wyszło. :P

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Gnysek, napisałem tam kod pod 1 kolizje która zabiera 10 hp. Nie chciało mi sie po prostu dopisywać "<" =)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

z energią ?

np. draw_rectangle(x,y,x+zycie,y+10,true);

dososuj poprzez dzielenie itp. akcje.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Proponuje tak :

var dlugosc, wysokosc, pozx, pozy;

dlugosc=300;
wysokosc=10;
pozx=10;
pozy=30;

draw_rectangle(pozx,pozy-(wysokosc/2),pozx+((hp/max_hp)*dlugosc),pozy+(wysokosc/2),1);

Proste :P

 

Ale tak. Musisz mieć zmienną w której będzie zapisane ile może mieć maksymalnie życia (max_hp) i aktualny stan (hp). Zmienne dlugosc i wysokosc służą do ustawienia wielkości paska. pozx i pozy do ustawienia pozycji.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ale jak tak zrobie to mi ludków nie widać

(te paski miały być do tych żyć co wcześniej pisaliście i paseki 2 ludków

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

to w oddzielnym obiekcie w draw dajesz :

draw_rectangle(100,10,x+gracz1.zycie,y+10,true);
draw_rectangle(200,20,x+gracz2.zycie,y+10,true);

 

gracz1 i gracz2 to nazwy obiektów w których wystepują zmienne lokalne...

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Tak trudno jest sobie zmodyfikować skrypt ? :blink:

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Tymon, jeżeli chodzi o twój... Ja bym zadeklarował te zmienne w poszczególnych obiektach graczy, a w osobnym dał bym :

draw_rectangle(gracz1.pozx,gracz1.pozy-(gracz1.wysokosc/2),gracz1.pozx+((gracz1.hp/gracz1.max_hp)*
gracz1.dlugosc),pozy+(gracz1.wysokosc/2),1);
draw_rectangle(gracz1.pozx,gracz1.pozy-(gracz2.wysokosc/2),gracz2.pozx+((gracz2.hp/gracz2.max_hp)*
gracz2.dlugosc),pozy+(gracz2.wysokosc/2),1);

Albo po prostu dał :

draw_rectangle(pozx,pozy-(wysokosc/2),pozx+((hp/max_hp)*dlugosc),pozy+(wysokosc/2),1);

tylko że w prawym górnym rogu z menu ( w Execute a Piece of Code ) wybrał bym obiekt którego ma tyczyć się akcja ;)

 

btw. nie widze sensu przy deklarowaniu zmiennych mających jedynie przechowywać wartośc x i y obiektu ale już...

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
jakies zdarzenie, moze byc kolizja, wcisniecie klawisza or smth.

zycie=zycie-10;

Sadam nie lepiej zycie-=10??

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A wy się męczycie :P Nie możecie dać wszystkiego w jednym obiekcie ? Musisz tylko dodać w draw kawałek takiego kodu :

draw_sprite(sprite_index,image_index,x,y);

I po co się męczyć z setkami obiektów :P

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jednak wykorzystywanie drawu do rysowania sprite'u danego obiewktu, gdy możemy to zrobić programowo, szybciej, i wygodniej nie idzie mi w smak :P

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dobra to mam ale mam problem juz z czymś innym:

Mam ludka bez jednej reki, ma doczepiony obiekt(reke z bronia) i gdy bohater zostanie zniszczony to pokazuje sie error ze nie moze znalezc x ludka i y ludka. Co zrobić?? nie chce restartu bo to gra na dwóch, wiec jakby 1 gracz zabil 2 to byl by restart, czego nie chce. Chyba że by sie odrazu pokazywal w innym losowym miejscu. Z gory THx

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Zeby nie pisać nowego tematu to pisze tu:

Więc, mam problem gdyż robie splitscreen-a czy jakoś takoś i są dwa menu do każdego okienka przeglądania.

Skorzystałem z przykładu "splitscreen.gmd" i nie wiem jak zrobić paski życia na tych dwóch menusach, prubowałem z view_current=0 i view_current=1 ale nic. nie wiem czy mnie zrozumieliście.

Z góry THX

 

EDIT //

 

moze inaczej:

w przykładzie splitscreen.gmd są dwa menu i jak chce zrobić paski do żyć tak jak u góry dla 2 graczy to żeby 1 pasek był w pierwszym menu a 2 w drugim. rozumiecie?? emot11.gif

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dla twojej wiadomości: jak zedytujesz posta, to pojawi się każdemu, że są nowe posty. Tak jest przynajmniej w IPB (czyli w tym skrypcie co tu jest ;D ).

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Sadam, najlepszy to głos w tych lekcjach :P No i sposób przedstawienia tych wszystkich skomplikowanych czynności :D

 

Ranma rox. No i zawsze coś przekazuje :P

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

×