Instance variables - Variabile de instanta
Variabilele de instanta permit fiecarui monstru s-a stocheze valoarea propriei vieti. O variabila este o simpla valoare care se poate schimba(sau varia), si sunt stocate separat pentru fiecare isntanta in pace, retine numele instance variable.
Hai s-a adaugam o variabila de instanta viata monstrului nostru. Click pe monstru in bara Project sau bara Object. Alternative, poti s-a faci vizibila pagina de lucru si s-a selectezi un obiect Monstru. Acest lucru iti v-a arata proprietatile monstrului in bara Properties din stanga. Click Add/edit de langa Edit variables.
Meniul variabilelor de instanta apare. Arata asemanator cu meniul pentru comportamente pe care l-am vazut mai devreme, dar in schimb iti permit s-a adaugi si s-a schimbi o variabila de instanta pentru obiect. Click pe butonul verde Add pentru a adauga o noua variabila.
In meniul care apare, scrie viata pentru name, lasa Type setat ca Number, si pentru Initial value enter 5(cum este aratat). Acest lucru v-a crea monstrii cu o viata de valoarea 5. Cand sunt loviti, se v-a scadea 1 punct din viata, si cand viata area valoarea zero obiect-ul v-a fi distrus.
Odata ce ai termiant apasa click pe OK. Observi cum acum variabila apare in meniul varibilelor de instanta si de asemenea in propietatile pentru monstru. (Poti foarte repede dca doresti s-a schimbi valoarea in bara pentru proprietati, dar ca s-a adaugi sau s-a stergi o variabila o s-a trebuiasca s-a faci click pe link-ul Add/Edit.)
Schimbarea evenimenteleor
Schimba fereastra inapoi pe pagina pentru evenimente. Momentan, omoram monstrii imediat ce glontul ii loveste. Hai s-a scadem 1 punct din viata pentru fiecare glont care loveste monstrul.
Cauta eveniment-ul care spune: Glont - on collision with Monstru. Observi ca avem o actiune "desotry Monstru". Hai s-a o schimbam pentru a "scadea 1 punct din viata". Click-dreapta pe actiunea "destroy Monstru" si apo click Replace.
Acelasi meniu apare ca atunci cand incercam s-a adaugam o noua actiune, dar de aceasta data o s-a inlocuim actiunea pe care ai facut click. Selecteaza Monstru -> Substract from (in categoria Instance variables) -> Instance variable "viata", si introdu 1 pentru Value. Click pe Done. Actiunea ar trebui s-a arate cam asa:
Acum cand tragem in monstrii vor pierde 1 punct de viata si glontul explodeaza, dar nu am adaugat un eveniment s-a omoare monstrii cand viata lor este egala cu 0. Adauga inca un eveniment:
Conditie: Monstru -> Compare instance variable ->viata, mai mic sau egal, 0
Actiune: Monstru -> Spawn another object -> Explozie, layer 1
Actiune: Monstru -> Destroy
De ce "mai putin sau egal cu 0" inloc de "egal cu 0"? Presupunand ca adaugam o alta arma mai puternica care scade 2 puncte din viata. In timp ce tragi intr-un monstru, viata s-a v-a fi 5, 3, 1, -1, -3... observa ca niciodata nu este egal cu 0, asa ca nu v-a muri niciodata! De aceea, este un exercitiu foarte bun s-a folosesti "mai putin sau egal" pentru a testa daca viata a ceva este egala cu 0 sau orice alt numar dorit.
Porneste jocul. Acum v-a trebuit s-a impusti monstrii de 5 ori pentru a ii distruge!
Stocarea Scorului
Hai s-a adaugam un scor ca jucatorii s-a stie cat de bine s-au descurcat. O s-a avem de adaugat o alta variabila pentru asta. Poate deja te gandesti" hai s-a punem viata unui monstru ca scor!". Nu este o idee foarte rea de inceput, dar tine minte valuarea este stocata "inauntr-ul" obiect-ului. Daca nu sunt instante, nu sunt nici variabile! Asa ca atunci cand omori un monstru, nu mai putem s-a spune cu exactitate ce scor a fost, deoarece l-am distrus cand obiect-ul Jucator a tras in el.
In schimb, putem folosi o variabila globala-global variable. ca si o variabila de instanta, o variabila globala(sau doar "globala-global") poate stoca un text sau un numer. Fiecare variabila poate stoca un singur numar sau o singura bucata de text. Variabilele globale sunt de asemenea posibil de accesat din toate paginile de lucru a proiectului - util daca trebuia s-a adaugam mai multe nivele.
Click-dreapta pe spati-ul de jos a paginii de evenimente, si selecteaza Add global variable.
Introdu Scor ca name. Celelalte campuri implicit sunt OK, or s-a creeze un numar incepand de la 0.
Acum variabila globala apare ca o linie in pagina de evenimente. Se afla pe aceasta pagina de evenimente, dar poate fi accesate din alte pagini de evenimente.
Atentie: exista de asemenea variabile locale care pot fi accesate de un numa mic de evenimente, dar nu trebuie s-a ne ingrijoram acum cu asta.
Hai s-a jucatorilor un rost pentru a omora monstrii. In eveniment-ul nostru "Monstru:healt mai mic sau egal cu 0"( cand un monstru moare), click Add action, si selecteaza System -> Add to (sub Global & local variables) -> Scor, value 1. Acum eveniment-ul ar trebui s-a arate cam asa:
Acum jucatorii au un scor, care creste de fiecare data cand un monstru este omorat - dar nu pot vedea scorul! Hai s-a le aratam scorul cu ajutorul unui obiect de tip text.