În articolul de astăzi, vom vorbi mai detaliat despre caracterul platformerului. Vom crea obiectele necesare, vom înțelege animația personajului, vom adăuga comportamentele potrivite și vom regla propriul nostru control în joc.
Pentru a nu mai repeta și a reduce dimensiunea articolului, nu voi detalia acțiunile elementare care au fost luate în lecțiile anterioare. Dacă ceva este uitat, puteți întotdeauna să vă întoarceți.
Pentru un studiu mai rapid al lui Construct 2, vă recomand să faceți această lecție complet pe calculatorul dumneavoastră. Pentru a face acest lucru, descărcați un set mic de grafică (273 KB), pe care l-am folosit în lecție.
Să începem. Rulați programul Construct 2 și creați un nou proiect gol.
Înainte de a crea un personaj, vom adăuga o suprafață temporară pe care va rula. Adăugăm obiectul grafic Sprite și numim platforma.
Apoi, transformați această platformă într-o suprafață solidă. Adăugați obiectul Comportament solid (solid).
Acum puteți crea un personaj. Vom face din două părți. Prima parte va fi baza de sprite. Acesta este un dreptunghi invizibil care va fi folosit pentru control. A doua parte va fi un sprite cu animația fixată deasupra bazei.
De ce nu poate fi un sprite? Este posibil, dar pot exista unele probleme. De exemplu, animația nu este întotdeauna netedă, uneori jignitoare și, uneori, poate că nu funcționează deloc.
Adăugați un nou Sprite (obiect grafic) și numiți player_animation.
Asigurați-vă că ați decupat imaginea (butonul Decupați marginile transparente). Această eliminare a spațiului gol din imagine este necesară pentru optimizarea și accelerarea jocului.
Adăugați un nou Sprite. chemați-l jucătorul. Aceasta va fi baza personajului.
Apoi, folosind instrumentul Umpleți, pictați sprite-ul cu orice culoare.
Să ne uităm la subtotal. În colțul din dreapta sus al programului, faceți clic pe butonul Executare aspect. Aceasta este lansarea în browser a aspectului deschis în prezent.
Ce sa întâmplat: putem controla (săgețile de pe tastatură) doar un dreptunghi umbrit, animația personajului atârnă separat.
Acum, să conectăm sprite-ul cu animația cu baza de sprite.
Stare: Sistem → Fiecare bifați
Condiția spune: efectuați acțiunea fiecărei căpușe. Dacă intri în detalii, există 60 de căpușe în fiecare secundă. În termeni simpli, efectuați în mod consecvent.
Apoi adăugați acțiunea (Adăugați o acțiune).
Acțiune: obiect player_animation → Setați poziția unui alt obiect → în Object selectați obiectul playerului, în punctul Image introduceți 0 → Terminat
În această acțiune, sprite-ul cu animație este instalat pe partea de sus a bazei sprite în punctul principal (zero).
Complet evenimentul suna astfel: fiecare moment pentru a impune o sprite cu animație pe baza unei sprite.
Ne întoarcem la aspect. Selectați playerul sprite (baza) și setați parametrul Vizibilitate inițială la Invisible. Adică, facem obiectul invizibil.
Din nou, rulați testul jocului. Și apoi vedem o problemă, personajul nu atinge platforma, este puțin mai mare. Să corectăm acest defect.
Masca de coliziune este zona obiectului care interacționează cu alte obiecte. Poate fi oricare, îl puteți schimba. Contactul obiectelor se calculează exact prin aceste măști.
Un cadru albastru și puncte roșii vor apărea în jurul obiectului. Selectați punctul din stânga jos. Pe coordonata Y este setat la 126. Ridicați punctul cu 2 pixeli, introduceți 124. În mod similar, ridicați punctul de jos inferior cu 2 pixeli.
În fereastra Animații, faceți clic dreapta și selectați Adăugați animație.
Suntem animația Run. Selectați-l, apoi în fereastra Frames animații, faceți clic dreapta și selectați Import cadru → De la fișiere ... (cadre de import de pe computer).
Și încărcăm toate cadrele de animație ale alerga de la setul nostru de grafică.
Cadrele sunt adăugate. Dar observați că a existat un cadru gol pentru zero. Selectați-l și ștergeți-l.
Nu uitați să decupați (butonul Decupați marginile transparente) fiecărui cadru de animație adăugat.
În setările pentru Run animație, setați viteza de redare la 10 cadre pe secundă și activați repetarea constantă a animației (buclă).
Cu repetarea este clar. În timp ce caracterul este în desfășurare, animația trebuie să fie redată în mod constant. Dar cu viteza de joc este necesar să experimentăm. Creșteți treptat valoarea până când atingeți finețea animației. Pentru a verifica, faceți clic dreapta pe animație și selectați Previzualizare.
În cazul nostru, valoarea de 10 cadre pe secundă este excelentă.
Acum adăugați animația saltului. Din nou, faceți clic dreapta în fereastra Animații și selectați Adăugați animație. Suna-o Salt. Apoi încărcăm cadrele de animație de salt din setul nostru.
Ștergeți cadrul zero gol.
Din nou, am tuns fiecare cadru al animației.
Viteza animației de salt va fi, de asemenea, setată la 10 cadre pe secundă. În cazul nostru, aceasta este cea mai bună opțiune. Nu este necesară o repetare a animației aici.
Apoi, vom stabili propriul nostru management de caractere și vom atribui animații anumitor acțiuni (costuri, runeri, salturi). Selectați obiectul player și dezactivați comenzile implicite din opțiuni.
Pentru a crea un control propriu, trebuie să adăugați un obiect Keyboard.
Mergem mai departe. Adăugați un eveniment nou (adăugați eveniment).
Stare: Tastatură → Tasta este în jos → Tastă (faceți clic pentru a alege) → Apăsați D → Terminat
În această condiție, se verifică dacă tasta D este menținută în jos.
Adăugați acțiuni.
Pasul 1: Object player → Simulate control → din Control selectați Drept → Terminat
Pasul 2: Anularea jucătorului → Setați oglindirea → în Selectați de stat Nu este oglindită → Efectuat
În prima acțiune, personajul se mișcă spre dreapta. În a doua acțiune, animația de caractere este eliminată (dacă a fost) o imagine în oglindă. Asta este, astfel încât caracterul, atunci când se deplasează spre dreapta, arată în aceeași direcție.
În total, evenimentul sună astfel: în timp ce apăsăm tasta D, caracterul se mișcă spre dreapta și arată spre dreapta.
Continuăm. Adăugați un eveniment similar (adăugați eveniment), numai pentru deplasarea spre stânga.
Stare: Tastatură → Tasta este în jos → Tastă (faceți clic pentru a alege) → Apăsați A → Terminat
În această condiție, se verifică dacă este ținută apăsată tasta A.
Adăugați acțiuni.
Pasul 1: Object player → Simulate control → din Control selectați Stânga → Terminat
Pasul 2: obiect player_animation → Setare oglindită → în Stare selectați Mirrored → Terminat
Prima acțiune este de înțeles, personajul se mișcă spre stânga. Și în a doua acțiune, caracterul se desfășoară într-o imagine oglindă (din poziția standard).
În total, evenimentul sună astfel: în timp ce apăsăm tasta A, personajul se mișcă și arată în stânga.
Apoi adăugați evenimentul (Adăugați evenimentul) de salt.
Stare: Tastatură → Tasta aprinsă → Tasta (faceți clic pentru a alege) → Apăsați tasta W → Terminat
În condiție, o singură apăsare a tastei W este monitorizată.
Adăugați o acțiune.
Acțiune: Obiect player → Simulate control → în Control selectați Jump → Done
În această acțiune, personajul efectuează un singur salt.
Întregul eveniment sună astfel: imediat ce apăsăm tasta W, se efectuează un singur salt.
Cu propriul management au înțeles. Puteți utiliza orice tastă, dacă este convenabilă.
Acum pentru animarea personajului. Noul eveniment va consta în două condiții. Mai întâi adăugăm primul.
Condiția 1: player → Se mișcă → Obiect terminat
În condiție, se verifică dacă caracterul se mișcă.
Pentru a adăuga a doua condiție la eveniment, faceți clic dreapta pe prima condiție și selectați Adăugați o altă condiție din meniul contextual.
Și creați a doua condiție.
Starea 2: jucător → Este pe podea → Terminat obiect
În această condiție, se verifică dacă caracterul se află pe platformă.
Iar acțiunea va fi aceasta:
Acțiune: obiect player_animation → Set animație → în Animație introduceți "Run" → Done
În această acțiune, sprite începe să joace animația care rulează.
În total, evenimentul suna astfel: în timp ce personajul se mișcă pe o platformă, se redă animația de rulare.
Adăugați următorul eveniment (adăugați eveniment).
Stare: Obiect player → Se mișcă → Efectuat
Acum, în această condiție, se verifică dacă caracterul se mișcă. Dar avem nevoie de condiția opusă. Faceți clic dreapta pe condiție și selectați Invert.
O cruce roșie apare în stare. Și acum verifică dacă personajul se mișcă.
Apoi adăugați acțiunea (Adăugați o acțiune).
Acțiune: obiect player_animation → Set animație → în Animație introduceți "Implicit" → Efectuat
În această acțiune, obiectul player_animation pornește animația standard (în cazul în care caracterul este în picioare).
În total, evenimentul se aude astfel: în cazul în care caracterul nu se mișcă, se folosește animația standard.
Și adăugați ultimul eveniment (Add event), care va fi responsabil pentru saltul de caractere.
Stare: obiect jucator → Jumping → Efectuat
În această condiție, se verifică dacă caracterul se află în salt.
Adăugați o acțiune (adăugați o acțiune).
Acțiune: obiect player_animation → Set animație → în Animație introduceți "Salt" → Efectuat
În această acțiune, obiectul player_animation lansează o animație de salt (numită Jump).
În total, evenimentul se aude astfel: în cazul în care personajul sare, se redă animația unui salt.
Vom reveni la aspect și vom rula testul. Totul este bine, personajul este în picioare, alergând și sărituri.
Ce altceva putem face? De exemplu, experimentați cu parametrii de comportament Platformă. Puteți crește viteza de mișcare, înălțimea saltului, puteți adăuga un salt dublu și mai mult.
I-am spus despre toți parametrii acestui comportament în ultima lecție.
Și încă un punct important despre caracter. În mod obișnuit în platformeri sunt create nivele destul de mari. Și dacă personajul părăsește partea vizibilă a frontierei, el pur și simplu nu va fi vizibil. Prin urmare, comportamentul Scroll To trebuie adăugat obiectului jucătorului.
Aceasta este o cameră care va păstra întotdeauna personajul în centrul ecranului, indiferent de mișcarea acestuia.