Skocz do zawartości

Podsumowanie punktów na końcu danego świata


Milord

Rekomendowane odpowiedzi

Cześć wszystkim

 

mam świat,który składa się z 4 plansz..Ostatnia plansza,to walka z bossem,no i teraz jak unicestwię bosa i przechodzę do kolejnego świata,to za nim do kolejnego świata przejdę chciałbym zrobić podsumowanie punktów,czyli wskakuje plansza z podsumowaniem ukończonego świata informacje ile mamy zebranych punktów ile zabiliśmy wrogów,ile monet zebraliśmy o takie coś....

 

zmienne mam globalne czyli:

 

mam w create obiektu game_controller

 

 

GML
global.pScore = 0;

global.life = 5;

global.coins = 0;

global.Saved = true;

globalvar spawnX, spawnY;

 

 

gorzej z podsumowaniem ilości zabitych wrogów;) w danym świecie

Odnośnik do komentarza
Udostępnij na innych stronach

No to definiujesz tablicę globalną w której będziesz zliczał zabitych npc-tów(dajesz tam gdzie definiujesz punkty życia itp.):

GML
global.Zabitych[0]=0; //Pierwszy typ npc

global.Zabitych[1]=0; //Drugi typ npc

global.Zabitych[2]=0; //Trzeci typ npc

global.Zabitych[3]=0; //Czwarty typ npc

Później doliczasz zabitego przy śmierci npc-ta:

GML
global.Zabitych[typ]++;

Na koniec etapu rysujesz sobie poszczególne elementy tablicy global.Zabitych ;)

Odnośnik do komentarza
Udostępnij na innych stronach

No to dajesz tam gdzie definiujesz punkty życia itp.:

GMLglobal.Zabitych[0]=0; //Pierwszy typ npc

global.Zabitych[1]=0; //Drugi typ npc

global.Zabitych[2]=0; //Trzeci typ npc

global.Zabitych[3]=0; //Czwarty typ npc

Czyli definiujesz tablicę globalną w której będziesz zliczał zabitych npc-tów ;)

Później przy śmierci npc-ta dajesz:

GMLglobal.Zabitych[typ]++;

Czyli doliczasz zabitego i potem sobie rysujesz sobie poszczególne elementy tablicy global.Zabitych ;)

 

 

Dzięki Max to dla mnie zrozumiałe;) ok sprawa wrogów załatwiona;) analogiczie to samo robie z punktami;)?

Tak żeby w osobnym roomie po ukończeniu wszystkich 4 roomów podsumowanie mi wyskoczyło,czyli ile punktów,ile zabitych wrogów itd;)

Odnośnik do komentarza
Udostępnij na innych stronach

No tak, robisz np. drugą tablice

GML
global.Punkty[level]=ilość punktów;

Swoją drogą możesz zrobić to optymalniej ciut na dwumiarowej tablicy i wtedy:

GML
global.Podsumowanie[rodzaj, typ/level] = wartość;

I jako rodzaj podajesz sobie np.:

dla podsumowania zabitych - 0,

dla podsumowania punktów - 1;

W drugim miejscu(jako drugi wymiar) podajesz typ npc-ta/numer levelu.

Szczególnie może się przydać jak chcesz potem zrobić jeszcze podsumowanie np.: diamentów zebranych, czasu przejścia danego levela itp. i musiałbyś tworzyć kilka zmiennych jedno wymiarowych ;)

Odnośnik do komentarza
Udostępnij na innych stronach

No tak, robisz np. drugą tablice GMLglobal.Punkty[level]=ilość punktów;

Swoją drogą możesz zrobić to optymalniej ciut na dwumiarowej tablicy i wtedy:

GMLglobal.Podsumowanie[rodzaj, typ/level] = wartość;

I jako rodzaj podajesz sobie np.:

dla podsumowania zabitych - 0,

dla podsumowania punktów - 1;

W drugim miejscu(jako drugi wymiar) podajesz typ npc-ta/numer levelu.

Szczególnie może się przydać jak chcesz potem zrobić jeszcze podsumowanie np.: diamentów zebranych, czasu przejścia danego levela itp. i musiałbyś tworzyć kilka zmiennych jedno wymiarowych ;)

 

hmmm...powolutku Max von Gamming;)

 

 

a,wiec tak

 

w create obiektu tam,gdzie mam już definiowane zmienne wrzucam;)

 

 

GML
global.Zabitych[0]=0; //Pierwszy typ

global.Zabitych[1]=0; //Drugi typ

global.Zabitych[2]=0; //Trzeci typ

global.Zabitych[3]=0;//czwarty typ

 

dobra i teraz drugą tablice tworze w nowym obiekcie,czy w tym samym?

 

global.pScore[level]=ilość punktów;// tu wpisuje nazwę pokoju w levelu?

 

 

Tylko jak to wyświetlić w osobnym roomie;)?

Odnośnik do komentarza
Udostępnij na innych stronach

W tym samym, nie ma potrzeby tworzenia nowego ;)

W level wpisuj lepiej nr. levelu.

Np. dla level 1 teorytycznie robisz:

GML
global.pScore[1]

I może tak być jak wyżej, ale jeszcze lepiej jak zrobisz:

GML
global.pScore[0] /*0 dlatego że indeksuje się tablice od 0, więc zaczynając od 1 marnujemy cenny element.

Wyliczasz to w prosty sposób, musisz cofnąć o 1 do tyłu, czyli odejmujesz jeden.

W skrócie w nawias kwadratowy wpsujesz numer levelu-1 */

W prawdzie powinno działać także jakbyś podał nazwę roomu(bo nazwa zwraca tak na prawdę ID zasobu które jest liczbą), ale ominąłbyś prawdopodobnie wiele elementów pozostawiając je pustymi i byłby problem z wyświetlaniem(musiałbyś sprawdzać ID danego roomu). Ale to nie istotne nie chce Ci mieszać w głowie. Po prostu wpisujesz nie nazwę roomu tylko numer levelu(liczbę)-1 ;)

GML
global.pScore[numer_levelu-1]=ilosc_punktow;
Odnośnik do komentarza
Udostępnij na innych stronach

W tym samym, nie ma potrzeby tworzenia nowego ;)

W level wpisuj lepiej nr. levelu.

Np. dla level 1 teorytycznie robisz:

GMLglobal.pScore[1]

I może tak być jak wyżej, ale jeszcze lepiej jak zrobisz:

GMLglobal.pScore[0] /*0 dlatego że indeksuje się tablice od 0, więc zaczynając od 1 marnujemy cenny element.

Wyliczasz to w prosty sposób, musisz cofnąć o 1 do tyłu, czyli odejmujesz jeden.

W skrócie w nawias kwadratowy wpsujesz numer levelu-1 */

W prawdzie powinno działać także jakbyś podał nazwę roomu(bo nazwa zwraca tak na prawdę ID zasobu które jest liczbą), ale ominąłbyś prawdopodobnie wiele elementów pozostawiając je pustymi i byłby problem z wyświetlaniem(musiałbyś sprawdzać ID danego roomu). Ale to nie istotne nie chce Ci mieszać w głowie. Po prostu wpisujesz nie nazwę roomu tylko numer levelu(liczbę)-1 ;)

GMLglobal.pScore[numer_levelu-1]=ilosc_punktow;

 

 

 

Maxiu już mi trochę namieszałeś;) dobra próbuje to złożyć w jedną całość;) robie w create obj game controller tak;)

 

dodaje do istniejących zmiennych to:

 

create

 

GML
global.pScore[-1]//jak dam -1 to znaczy,że podsumuje mi wszystkie pkt z lewelu już skończonego

global.Zabitych[0]=0; //Pierwszy typ

global.Zabitych[1]=0; //Drugi typ

global.Zabitych[2]=0; //Trzeci typ

global.Zabitych[3]=0;//czwarty typ</span></span>

 

Teraz tak..to zostaje w tym obiekcie global game controller

 

no i tworze sobie nowy room..i teraz w nim chce żeby wyświetliło mi się podsumowanie..

Max;) czyli mi tylko chodzi,że mając 4 levele chce żeby dopiero po 4 levelu wyskoczyło info w postaci nowej planszy o ilości zabitych wrogow,zdobytych punktow i ilosci zebranych monet.

Nie musi mi co ukończona plansza pokazywać tą statystykę,tylko co ukończony każdy świat;) a światy mam podzielone na 4 plansze;)

 

czyli wtedy robi tak

 

global.pScore[-4] // o ile to dobrze zrozumiałem;)

 

a nazwy leveli mam takie;)

 

room_world1_4

room_world2_4

room_world3_4

room_world4_4

 

i po pokoju room_world4_4 niech pojawi się ta statystyka przed światem kolejnym czyli room_world2_1 statystyka hmmm może być w osobnym roomie.

A wrogowie nazywają się następująco

 

obj_bandyta

obj_nerwus

obj_czolg

obj_smok

Odnośnik do komentarza
Udostępnij na innych stronach

GML
global.pScore[-1]//jak dam -1 to znaczy,że podsumuje mi wszystkie pkt z lewelu już skończonego</span>
?

 

global.pScore[-4] // o ile to dobrze zrozumiałem;) Nie wiem skąd -4, ale jak już to 4, nie -4. Indeksy nie mogą być ujemne

 

i po pokoju room_world4_4 niech pojawi się ta statystyka przed światem kolejnym czyli room_world2_1 statystyka hmmm może być w osobnym roomie.Wyświetlanie podsumowania robisz tak jak punktów, czy żyć, a mówiłeś że to już ogarnąłeś ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Aj,bo się zamotałem jak chłop w sądzie;)tego nie mam mam to Hmmm sumują mi się punkty w poszczególnych levelach pierwszego świata,ale mam na myśli tak jak mowie Maxiu;) że statystyka nie że się wyświetli na końcu każdego levelu,tylko dopiero na końcu 4 levelu;)

 

czyli muszę chyba w draw narysować tabelke z podsumowaniem wyników..że tyle mam pkt tyle zabitych wrogów tyle monet..;)

 

 

w create dałem tam tak;)

 

GML
global.Zabitych[0]=0;

global.Zabitych[1]=0;

global.Zabitych[2]=0;

global.Zabitych[3]=0;

//global.pScore[1]=ilosc_punktow;// ilosc punktow wpisuje 0; ??

sa 4 plansze to żeby podsumował mi je wszystkie,ale wyświetlił je jak skończe czwartą plansze tą stytystykę

 

 

we wrogach tam gdzie giną dałem ta linijkę

 

obj_bandyta

 

GML
global.Zabitych[0]++;

 

 

obj_nerwus

 

GML
global.Zabitych[1]++;

 

 

Ps.Diamenty i inne pierdołu ja już ogarnę,na wzór przecież mam tablice z wrogami;)

Chodzi mi głównie o punkty i ilość zabitych wrogów,gdzie wyświetli mi się to na końcu 4 planszy jak już ją skończe;)

czyli coś w draw musze stworzyć taką tabelkę,gdzie w osobnym roomie wyświetli mi się ta stystyka,a potem będę mogł spokojnie przejść do świata drugiego;)

Teraz Max von Gammer rozumie mnie;D?

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