Sunteți pe pagina 1din 11

Curs Gaming

Lecția 8

1. Multiplicarea obiectelor
2. Straturi (Layers)
3. Obiecte de fundal

Putem vedea că, atunci când jucătorul merge la stânga, sprite-ul nu se


întoarce. Din fericire, există o acțiune care poate fi folosită pentru a orienta
sprite-urile.
Mergem la editorul de evenimente și adăugăm un nou eveniment:
Adaugăm o condiție pentru a verifica dacă tasta Left este apăsată.

Acțiunea este aceea prin care întoarcem obiectul Player și este


exemplificată în imaginea următoare:
Același eveniment trebuie făcut și la apăsarea tastei Right.

,
Trebuie, totodată, să centrăm camera jocului nostru pe obiectul
Player:

Adăugarea unei platforme “sari prin”

Pentru moment , toate platformele sunt stâncă solidă, dar putem


crea, de asemenea, o platformă prin care putem sări cu capul.
Creăm un nou obiect Sprite și îi adăugăm imaginea bridge.png, iar
numele obiectului să fie Jumpthru, spre exemplu, care sugerează ideea ce
platforma “sari prin”.
Adăugăm pentru acest nou obiect creat comportamentul Platform,
însă schimbăm tipul în care acesta acționează în Jumpthru platform.

Adăugarea obiectelor monedă și variabila pentru scor

Să adăugăm unele monede pentru a le colecta în timpul jocului: Creăm


un nou obiect numit Coin cu coinGold.png ca imagine. Putem pune apoi mai
multe monede în joc (cu Ctrl si click, drag and drop).

Acum, trebuie să distrugem obiectul Coin atunci când Player-ul le


atinge: Adaugăm un nou eveniment și adăugăm o condiție de testare pentru
coliziunea dintre Coin și obiectul Player:
Apoi, se adaugă o acțiune pentru a șterge obiectul Coin (Puteți găsi
condiția în tab-urile: All object > Objects > Delete an object). Reținem că
această acțiune va fi declanșată doar pentru Coin-ul, care a fost "atins" de
obiectul Player, adică, numai pentru Coin-ul care este în coliziune cu Player.
Putem pune, de asemenea un sunet, atunci când se colectează o
monedă. Adaugăm o altă acțiune pentru a reda sunetul coin.wav:

Vom utiliza o variabilă pentru a actualiza și afișa scorul obiectului


Player. Alegem Variables > Value of a variable (ne amintim că aceasta este o
variabilă de Scenă). Acțiunea utilizată va adăuga valoarea 100 la variabila scor
și este prezentată în imaginea următoare:
Reținem că nu avem nevoie să declarăm variabile înainte de a le
utiliza: Dacă utilizam un nume de variabilă care nu există, GDevelop va crea
această variabilă pentru noi. De asemenea, putem să declarăm sau chiar să
setăm o valoare inițială pentru orice variabilă: Pentru a face acest lucru, faceți
click pe butonul de lângă primul parametru pentru a deschide lista cu toate
variabilele de scenă declarate.
Evenimentul ar trebui să acum arata ca acest lucru:

Pentru a afișa variabila, avem nevoie de un obiect text care afișează


scorul. Pe scenă, adăugăm un nou obiect. De data aceasta alegem un obiect
de tip Text:
Edităm obiectul și schimbăm culoarea, astfel încât textul să negru, iar
fontul suficient de mare:

Denumim acest obiect: ScoreText.

Apoi, în tab-ul de evenimente, adăugăm un nou eveniment. Adaugăm


acțiunea: Modify the text, din tab-ul “Text object”. Introducem numele
obiectului (ScoreText) în primul parametru, apoi = în al doilea parametru, și
introduceți textul care urmează să fie afișat în ultimul parametru: Vrem să
afișeze "Score: " urmat de valoarea variabilei Scor .
Pentru a face acest lucru, se poate scrie Variable(Score) pentru a
obține valoarea variabilei. Cu toate acestea, valoarea obținută este un număr
și trebuie să-l transformăm într-un text, utilizând funcția de ToString. În cele
din urmă, expresia și textul trebuie să fie lipite, folosind un +. Al treilea
parametru obținut este următorul: “Score:”+ToString(Variable(Score)).
Dacă vizualizați jocul, veți observa că scorul este actualizat atunci când
vei atinge o monedă și afișat în obiectul text. Cu toate acestea, dorim să ne
asigurăm că scorul este întotdeauna vizibil.
Pentru a face acest lucru, mergem înapoi la editorul scena. Vom
adăuga un Layer, adică strat și adăugăm textul în acest strat. Putem lua în
considerare straturile ca fiind niște ochelari transparenți: Prin punerea
obiectului pe un strat diferit, vom asigura ca acesta va fi afișat întotdeauna,
atâta timp cât camera nu este mutată de pe acest strat.
Facem click pe Layers Editor din fereastra de sus pentru a afișa acest
editor:

Adăugăm un nou Layer acum:

Acum îl selectăm și îl mutăm peste Base Layer:

Putem să îl redenumim. Click dreapta pe el și mutați-l în Layerul GUI:


Acum, textul va fi afișat întotdeauna. Doar asigurați-vă că este
poziționat corect pe fereastra.

Crearea inamicului

Să încheiem această lecție prin adăugarea unui inamic care se va muta


pe platforme.
În editorul straturi, asigurați-vă că stratul de bază este selectat(în caz
contrar, noile obiecte adăugate ar putea fi puse pe stratul GUI, și nu vor fi
afișate la poziția lor corectă).
Apoi, adăugăm toate aceste trei obiecte: Primul este numit Bad,
reprezentând inamicul propriu zis, fiind compus din 2 imagini cu Loop între
ele slimewalk1.png și slimewalk2.png.
Celelalte două obiecte vor fi utilizate ca marcaje pentru a vă asigura
că inamicul nu va cădea de pe platforme. Punem inamicul pe o platformă.
Asigurați-vă că acesta este în coliziune cu unul dintre marcaje:
Pentru a muta inamicul, vom folosi acțiunile create de mediul
GDevelop care permit mutarea un obiect și fiecare inamic va salva direcția
(stânga sau dreapta) a mișcării sale, folosind o variabilă obiect (1 când merg
în stânga, 0 în dreapta).
Adăugăm aceste evenimente:

Acum, că obiectul este capabil să-și amintească unde el ar trebui să


meargă, trebuie doar să compare valoarea acestei variabile pentru a se muta
corect.
Adăugăm un eveniment de verificare în cazul în care variabila de
obiect Bad este egală cu 0. Apoi, adăugăm o acțiune pentru obiectul Bad,
punând o forță de 50 pixeli pe axa X si 0 pixeli pe axa Y: Forțele sunt un
mecanism încorporat care permite să se deplaseze cu ușurință obiectele pe
scenă (acțiunea este disponibilă în tab-ul: All Objects > Displacement > Add a
force to an object). Aici, forța va muta obiectul spre dreapta la viteza de 50
de pixeli pe secundă.
Similar facem pentru valoarea 1 a variabilei obiectului Bad, dar cu o
viteză de -50 de pixeli pe secundă.
Evenimentele sunt următoarele:
Dacă vizualizăm acum jocul vom vedea faptul că
Inamicii se mișcă corect între marcajele noastre. Totodată, ne dorim ca aceste
marcaje să nu fie afișate pe ecran în timpul jocului. Le putem ascunde folosind
următorul eveniment:

Condiția se găsește în tab-ul Scene category și este adevărată doar


când începe scena. Cele două acțiuni sunt disponibile în tab-ul Objects –
Visibility.

Distrugerea inamicului atunci când sărim pe el

Acest lucru poate fi realizat prin adăugarea unui eveniment cu două


condiții: Prima condiție verifică starea obiectului, și anume, în cazul în care
jucătorul este în coliziune cu inamicul. A doua condiție verifică dacă jucătorul
este în cădere.
Dacă aceste condiții sunt adevărate, obiectul inamic care este in
coliziune cu Player-ul este distrus si putem face chiar ca Player să sară din nou
pentru a da impresia că l-a lovit puternic. Evenimentele sunt prezentate în
imaginea următoare:

Adăugarea obiectelor de fundal

Adăugarea obiectelor în fundal este foarte ușoară: doar adăugăm


câteva sprite-uri cu imaginile pe care le dorim și le punem pe scenă.
Pentru a ne asigura că obiectele sunt afișate în spatele Player-ului, le
selectăm în editorul de scenă și punem pentru ele o valoare negativă pentru
coordonata Z: Orice obiect cu o valoare mai mare pentru Z va fi afișat în fața
acestora.
De asemenea, asigurați-vă că aceste obiecte sunt pe stratul de bază
(Base layer - proprietatea Layer trebuie să fie goală).

Cuvintele cheie folosite în această lecție


1. Multiplicarea obiectelor = se realizează au ajutorul tastei CTRL și trăgând
cu mouse-ul fiecare obiect pe care îl vrem să fie duplicat pe scena noastră;
2. Straturi (Layers) = sunt precum niște ochelari transparenți; prin punerea
obiectului pe un strat diferit, vom asigura ca acesta va fi afișat diferit față de
celelalte obiecte;
3. Obiecte de fundal = sunt acele obiecte care nu au atașate evenimente, fiind
doar obiecte de decor care vor face scena noastră mai reală.

S-ar putea să vă placă și