Construiește-ți primul joc Android de bază în doar 7 minute (cu Unity)

Autor: Lewis Jackson
Data Creației: 11 Mai 2021
Data Actualizării: 1 Iulie 2024
Anonim
Construiește-ți primul joc Android de bază în doar 7 minute (cu Unity) - Știri
Construiește-ți primul joc Android de bază în doar 7 minute (cu Unity) - Știri

Conţinut


Realizarea unui joc pe deplin pentru Android este mult mai ușor decât ai putea crede. Cheia dezvoltării Android de succes - sau orice fel de dezvoltare - este să știi ce vrei să obții și să găsești instrumentele și abilitățile necesare pentru a face acest lucru. Luați calea cea mai mică rezistență și aveți un scop clar în minte.

Când vine vorba de crearea jocurilor, cel mai bun instrument în opinia mea este Unity. Da, puteți face un joc în Android Studio, dar dacă nu aveți experiență cu Java și SDK-ul Android, va fi o luptă ascendentă. Va trebui să înțelegeți ce fac clasele. Va trebui să utilizați vizualizări personalizate. Te vei baza pe câteva biblioteci suplimentare. Lista continuă.

Unity este un instrument extrem de profesionist care alimentează marea majoritate a celor mai mari titluri de vânzare din Play Store.

Unity, pe de altă parte, face cea mai mare parte a muncii pentru tine. Acesta este un motor de joc, ceea ce înseamnă că toată fizica și multe dintre celelalte caracteristici pe care le-ați dori să le utilizați sunt deja îngrijite. Este platformă multiplă și este proiectat pentru a fi foarte prietenos pentru începători pentru pasionații și dezvoltatorii indie.


În același timp, Unity este un instrument extrem de profesionist care alimentează marea majoritate a celor mai mari titluri de vânzare din Play Store. Nu există limitări aici și nici un motiv bun pentru a face viața mai grea pentru tine. De asemenea, este gratuit!

Pentru a demonstra cât de ușor este dezvoltarea jocului cu Unity, îți voi arăta cum să faci primul tău joc Android în doar 7 minute.

Nu - nu am de gând explica cum se face în 7 minute. Intentionez sa Fă-o în 7 minute. Dacă urmați și voi, veți putea face exact același lucru!

act de renunțare: înainte de a începe, vreau doar să subliniez că am înșelat ușor. În timp ce procesul de realizare a jocului va dura 7 minute, se presupune că ați deja instalat Unity și ați configurat totul. Dar nu te voi lăsa atârnat: poți găsi un tutorial complet despre cum să faci asta la.


Adăugarea spriturilor și fizicii

Începeți făcând dublu clic pe Unity pentru a-l lansa. Chiar și cea mai lungă călătorie începe cu un singur pas.

Creați acum un proiect nou și asigurați-vă că alegeți „2D”. După ce ați intrat, veți fi întâmpinat cu câteva ferestre diferite. Astea fac lucruri. Nu avem timp să vă explicăm, așa că trebuie doar să urmați indicațiile mele și să le ridicați pe măsură ce mergem.

Primul lucru pe care doriți să îl faceți este să creați un sprite care să vă fie personajul. Cel mai simplu mod de a face acest lucru este de a desena un pătrat. Îi vom arăta câteva ochi. Dacă vrei să fii și mai rapid, poți apuca doar de undeva un sprite care îți place.

Salvați acest sprite și apoi glisați-l și plasați-l în „scena” dvs. plasându-l în cea mai mare fereastră. Veți observa că apare și în stânga în „ierarhia”.

Acum vrem să creăm câteva platforme. Din nou, ne vom confrunta cu un pătrat simplu și vom putea redimensiona această mană liberă pentru a realiza ziduri, platforme și ce aveți.

Acolo mergem, frumos. Aruncați-o în același mod în care ați făcut-o.

Avem deja ceva care arată ca un „joc”. Faceți clic pe redare și ar trebui să vedeți o scenă statică deocamdată.

Putem schimba acest lucru făcând clic pe spritul jucătorului nostru și privind spre dreapta la fereastra numită „inspector”. Aici schimbăm proprietățile pentru GameObjects.

Alegeți „Adăugați component” și apoi alegeți „Fizică 2D> RigidBody2D”. Tocmai ai adăugat fizică jucătorului tău! Acest lucru ar fi incredibil de dificil pentru noi să îl facem pe cont propriu și evidențiază cu adevărat utilitatea Unității.

De asemenea, dorim să ne rezolvăm orientarea pentru a preveni învârtirea și rotirea liberă a personajelor. Găsiți „constrângeri” în inspector cu jucătorul selectat și bifați caseta pentru a îngheța rotația Z. Acum faceți clic din nou pe redare și ar trebui să găsiți jucătorul dvs. acum pică din cer spre infinite sale.

Faceți un moment pentru a reflecta cât de ușor a fost acest lucru: pur și simplu aplicând acest script numit „RigidBody2D” avem o fizică complet funcțională. Dacă ar trebui să aplicăm același script pe o formă rotundă, acesta ar putea să se rostogolească și chiar să sară. Imaginează-ți codificarea asta și cât de implicat ar fi!

Pentru a opri personajul nostru să cadă prin podea, va trebui să adăugați un colizor. Acesta este practic conturul solid al unei forme. Pentru a aplica acest lucru, alegeți playerul dvs., faceți clic pe „Adăugați component” și de data aceasta selectați „Physics 2D> BoxCollider2D”.

Faceți un moment pentru a reflecta cât de ușor a fost acest lucru: pur și simplu aplicând acest script numit „RigidBody2D” avem o fizică complet funcțională.

Faceți exact același lucru cu platforma, faceți clic pe redare și apoi personajul dvs. ar trebui să cadă pe solul solid. Uşor!

Încă un lucru: pentru a ne asigura că aparatul foto urmărește jucătorul nostru, fie că cad sau se mișcă, dorim să tragem obiectul camerei care se află în scenă (acesta a fost creat când ați început noul proiect) deasupra playerului. Acum, în ierarhie (lista GameObjects din stânga) veți trage camera, astfel încât să fie indentată sub player. Aparatul foto este acum un „copil” al jucătorului GameObject, ceea ce înseamnă că atunci când jucătorul se mișcă, la fel și camera.

Primul dvs. scenariu

Vom face un alergător infinit de bază și asta înseamnă că personajul nostru ar trebui să se deplaseze chiar pe ecran până să ajungă la un obstacol. Pentru asta, avem nevoie de un scenariu. Deci faceți clic dreapta în folderul Active din partea de jos și creați un nou folder numit „Scripturi”. Acum faceți clic dreapta din nou și alegeți „Creați> C # Script”. Numiți-l „PlayerControls”.

În cea mai mare parte, scripturile create de noi vor defini comportamente specifice pentru GameObjects.

Acum faceți dublu clic pe noul dvs. script și se va deschide în Visual Studio dacă setați totul corect.

Există deja un cod aici, care este „codul plăcii cazanului”. Asta înseamnă că este codul pe care va trebui să-l utilizați în aproape fiecare script, astfel încât acesta este pregătit pentru a economisi timp. Acum vom adăuga un obiect nou cu această linie deasupra voidului Start ():

public Rigidbody2D rb;

Apoi puneți următoarea linie de cod în metoda Start () pentru a găsi rigidbody. Practic, acest lucru îi spune lui Unity să localizeze fizica atașată GameObject cu care va fi asociat acest script (jucătorul nostru, desigur). Start () este o metodă care se execută imediat ce este creat un obiect sau script nou. Localizați obiectul fizic:

rb = GetComponent();

Adăugați acest lucru în cadrul Actualizării ():

rb.velocity = new Vector2 (3, rb.velocity.y);

Actualizarea () se reîmprospătează în mod repetat și astfel orice cod de aici va fi repetat și repetat până când obiectul este distrus. Toate acestea spun că ne dorim ca rigidul nostru să aibă un nou vector cu aceeași viteză pe axa y (rb.velocity.y), dar cu viteza „3” pe axa orizontală. Pe măsură ce progresați, veți folosi probabil „FixedUpdate ()” în viitor.

Salvați asta și întoarceți-vă la Unity. Faceți clic pe caracterul jucătorului dvs., apoi în inspector selectați Adăugare componentă> Scripturi și apoi noul dvs. script. Faceți clic pe redare și boom! Personajul tău ar trebui acum să se îndrepte spre marginea pervazului ca un lemne.

Notă: Dacă oricare dintre acestea sună confuz, doar vizionează videoclipul pentru a vedea totul fiind realizat - va fi de folos!

Intrare de jucător de bază

Dacă dorim să adăugăm o caracteristică de salt, putem face acest lucru foarte simplu doar cu un singur bit suplimentar de cod:

if (Input.GetMouseButtonDown (0)) {rb.velocity = new Vector2 (rb.velocity.x, 5); }

Aceasta se înscrie în metoda Actualizare și spune că „dacă jucătorul face clic”, atunci adăugați viteză pe axa y (cu valoarea 5). Când folosim dacă, orice lucru care urmează în interiorul parantezelor este utilizat ca un fel de test adevărat sau fals. Dacă logica din parantezele menționate este adevărată, atunci va rula codul din următoarele paranteze. În acest caz, dacă jucătorul face clic pe mouse, viteza este adăugată.

Android citește clicul stâng al mouse-ului ca atingând oriunde pe ecran! Deci, acum jocul dvs. are controale de bază la atingere.

Găsirea piciorului tău

Acest lucru este suficient pentru a face o clonă Flappy Birds. Aruncă în unele obstacole și învață cum să distrugi jucătorul atunci când acesta îi atinge. Adăugați un scor pe deasupra.

Dacă descărcați acest lucru, nicio provocare nu va fi prea mare pe viitor

Dar avem ceva mai mult timp, astfel încât să putem deveni mai ambițioși și să facem un joc de tip alergător infinit. Singurul lucru în neregulă cu ceea ce avem în acest moment este faptul că apăsarea saltului va sări chiar și atunci când jucătorul nu atinge podeaua, așa că poate zbura în esență.

Remedierea acestui lucru devine ceva mai complexă, dar acest lucru este la fel de greu ca Unity. Dacă descărcați acest lucru, nicio provocare nu va fi prea mare pe viitor.

Adăugați următorul cod la scriptul dvs. deasupra metodei Update ():

public Transform groundCheck; public Transform startPozition; public float groundCheckRadius; public LayerMask whatIsGround; bool privat onGround;

Adăugați această linie la metoda Actualizare de deasupra declarației if:

onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround);

În cele din urmă, schimbați următoarea linie, astfel încât să includă && onGround:

if (Input.GetMouseButtonDown (0) && onGround) {

Întregul lucru ar trebui să arate astfel:

public class PlayerControls: MonoBehaviour {public Rigidbody2D rb; public Transform groundCheck; public Transform startPozition; public float groundCheckRadius; public LayerMask whatIsGround; bool privat onGround; void Start () {rb = GetComponent(); } void Actualizare () {rb.velocity = new Vector2 (3, rb.velocity.y); onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround); if (Input.GetMouseButtonDown (0) && onGround) {rb.velocity = new Vector2 (rb.velocity.x, 5); }}}

Ceea ce facem aici este să creăm o nouă transformare - o poziție în spațiu - atunci ne setăm raza și ne întrebăm dacă se suprapune unui strat numit teren. Schimbăm apoi valoarea booleană (care poate fi adevărată sau falsă), în funcție de cazul sau nu.

Deci, onGround este adevărat dacă transformarea numită groundCheck se suprapune la solul stratului.

Dacă faceți clic pe salvare și apoi întoarceți-vă la Unity, ar trebui să vedeți acum că aveți mai multe opțiuni disponibile în inspectorul dvs. atunci când selectați playerul. Aceste variabile publice pot fi văzute din interiorul Unity în sine și asta înseamnă că le putem seta oricum ne place.

Faceți clic dreapta pe ierarhia din stânga pentru a crea un nou obiect gol și apoi glisați-l astfel încât să fie chiar sub jucător în fereastra Scenă unde doriți să detectați podeaua. Redenumiți obiectul „Check Ground” și apoi faceți-l un copil al jucătorului așa cum ați făcut cu aparatul foto. Acum ar trebui să urmeze jucătorul, verificând podeaua de dedesubt așa cum o face.

Selectați din nou playerul și, în inspector, trageți noul obiect Check Ground în spațiul în care scrie „groundCheck”. „Transformarea” (poziția) va fi acum egală cu poziția noului obiect. În timp ce sunteți aici, introduceți 0.1 unde scrie raza.

În cele din urmă, trebuie să ne definim stratul „sol”. Pentru a face acest lucru, selectați terenul pe care l-ați creat anterior, apoi în partea dreaptă sus în inspector, găsiți unde se spune „Strat: implicit”. Faceți clic pe această casetă derulantă și alegeți „Adăugați strat”.

Acum faceți clic pe înapoi și de data aceasta selectați „sol” ca strat pentru platforma dvs. (repetați acest lucru pentru orice alte platforme pe care le plutați). În cele din urmă, unde scrie „Ce este solul” pe jucătorul tău, selectează și stratul de sol.

Acum îi spuneți scriptului jucătorului dvs. să verifice dacă punctul mic de pe ecran se suprapune cu orice se potrivește cu acel strat. Datorită acelei linii pe care am adăugat-o anterior, personajul va sări acum doar atunci când va fi cazul.

Și cu asta, dacă atingeți jocul, vă puteți bucura de un joc destul de de bază care vă solicită să faceți clic pentru a sari la momentul potrivit.

Cu asta, dacă atingeți jocul vă puteți bucura de un joc destul de de bază care vă cere să faceți clic pentru a sari la momentul potrivit. Dacă vă configurați unitatea corect cu SDK Android, atunci ar trebui să puteți construi și rula acest lucru și apoi să jucați pe smartphone atingând ecranul pentru a sari.

Drumul înainte

Evident, mai sunt multe de adăugat pentru a face acest joc complet. Jucătorul ar trebui să fie capabil să moară și să se reînvie. Am dori să adăugăm niveluri suplimentare și multe altele.

Scopul meu aici a fost să vă arăt cât de repede puteți obține ceva de bază. Urmând aceste instrucțiuni, ar fi trebuit să fiți capabil să vă construiți alergătorul infinit în cel mai scurt timp pur și simplu lăsând Unity să se ocupe de lucrurile grele, cum ar fi fizica.

Dacă știți ce doriți să construiți și să faceți cercetarea dvs., nu trebuie să fiți un vrăjitor de codificare pentru a crea un joc decent!

O bancă de energie ete o modalitate excelentă de a menține dipozitivele încărcate în timp ce ete departe de o priză. Puteți obține baterii portabile mai mici, cu capacități de 5.000mAh și 10...

Căutarea unui furnizor de ervicii de internet (IP) poate fi foarte implă, foarte complicată au o combinație a ambelor. Ete foarte neobișnuit ă apelezi la peroane care au doar un ingur furnizor diponib...

Alegerea Cititorilor