Ehitage oma esimene põhiline Androidi mäng vaid 7 minutiga (koos Unityga)

Autor: Lewis Jackson
Loomise Kuupäev: 11 Mai 2021
Värskenduse Kuupäev: 1 Juuli 2024
Anonim
Ehitage oma esimene põhiline Androidi mäng vaid 7 minutiga (koos Unityga) - Uudised
Ehitage oma esimene põhiline Androidi mäng vaid 7 minutiga (koos Unityga) - Uudised

Sisu


Androidi jaoks täielikult töötava mängu tegemine on palju lihtsam kui võite arvata. Androidi eduka arengu või mis tahes arendamise võti on teada, mida soovite saavutada, ja leida selleks vajalikud tööriistad ja oskused. Minge väikseima vastupanu teed ja pidage silmas selget eesmärki.

Mängude loomisel on minu arvates parim vahend Unity. Jah, saate Android Studio'is mängu teha, kuid kui teil pole Java ja Androidi SDK-ga kogemusi, on see mäest üles võitlus. Peate mõistma, mida klassid teevad. Peate kasutama kohandatud vaateid. Sa toetud mõnele teegile. Nimekiri jätkub.

Unity on väga professionaalne tööriist, mis annab valdava osa Play poe enimmüüdud pealkirjadest.

Ühtsus seevastu teeb suurema osa tööst teie heaks. See on mängumootor, mis tähendab, et kogu füüsika ja paljude muude funktsioonide eest, mida võiksite kasutada, on juba hoolitsetud. See on platvormidevaheline ja mõeldud harrastajatele ja indie-arendajatele väga algajasõbralikuks.


Samal ajal on Unity ülimalt professionaalne tööriist, mis annab valdava osa Play poe enimmüüdud pealkirjadest. Siin pole piiranguid ega mõjuvat põhjust enda elu raskemaks tegemiseks. Ka see on tasuta!

Unity mängude arendamise lihtsuse demonstreerimiseks näitan teile, kuidas teha oma esimene Androidi mäng kõigest 7 minutiga.

Ei - ma ei kavatse seletama kuidas seda 7 minutiga teha. Ma lähen tee seda 7 minutiga. Kui jälgite ka ise, saate teha täpselt sama!

Kohustustest loobumine: enne kui alustame, tahan lihtsalt rõhutada, et petan pisut. Kuigi mängu valmistamine võtab 7 minutit, eeldab see, et olete Unity juba installinud ja kõik valmis seadnud. Kuid ma ei jäta teid rippuma: siit leiate täieliku õpetuse, kuidas seda teha.


Sprittide ja füüsika lisamine

Alustage selle käivitamiseks topeltklõpsuga Unityl. Isegi kõige pikem teekond algab ühe sammuga.

Nüüd looge uus projekt ja veenduge, et valiksite 2D. Kui olete sisse saanud, tervitatakse teid mõne erineva aknaga. Need teevad asju. Meil pole aega seletada, nii et järgige lihtsalt minu juhiseid ja te võtate selle siis kätte, kui läheme.

Esimene asi, mida soovite teha, on luua tegelane, kes oleks teie tegelane. Lihtsaim viis selleks on ruudu joonistamine. Me anname sellele paar silma. Kui soovite veel kiirem olla, võite lihtsalt kuskilt haarata endale meelepärase sprite.

Salvestage see osa ja seejärel lihtsalt lohistage see oma „stseeni”, asetades selle suurimasse aknasse. Võite märgata, et see ilmub ka vasakul hierarhias.

Nüüd tahame luua mõned platvormid. Jällegi peame hakkama saama lihtsa ruuduga ja saame selle vabakäe suuruse muuta, et teha seinu, platvorme ja seda, mis teil on.

Seal me läheme, ilus. Tilgutage see samamoodi, nagu sa just tegid.

Meil on juba midagi, mis näeb välja nagu mäng. Klõpsake nuppu Esita ja nüüd peaksite nägema staatilist stseeni.

Saame seda muuta, klõpsates oma mängija spriteil ja vaadates paremale aknale nimega 'inspektor'. Siin muudame oma GameObjektide omadusi.

Valige „Lisa komponent” ja seejärel „Füüsika 2D> RigidBody2D”. Oled lisanud oma mängijale just füüsika! Seda oleks meil üksi uskumatult keeruline teha ja see tõstab esile Ühtsuse kasulikkust.

Samuti soovime fikseerida oma orientatsiooni, et tegelane ei keerleks ja liiguks ümber. Leidke valitud mängijaga inspektorilt „piirangud” ja märkige ruut rotatsiooni Z külmutamiseks. Nüüd klõpsake uuesti nuppu Esita ja peaksite leidma, et teie mängija langeb nüüd taevast tema lõpmatusse hukatusse.

Mõelge veidi sellele, kui lihtne see oli: lihtsalt selle skripti RigidBody2D rakendamisel on meil füüsika täiesti funktsionaalne. Kui rakendaksime sama skripti ümarale kujule, siis see rulluks ja isegi põrkaks. Kujutage ette, kuidas seda ise kodeerida ja kui kaasatud see oleks!

Selleks, et meie tegelane läbi põranda ei kukuks, peate lisama põrkeseadme. See on põhimõtteliselt kuju kindel kontuur. Selle rakendamiseks valige oma mängija, klõpsake "Lisa komponent" ja valige seekord "Füüsika 2D> BoxCollider2D".

Mõelge veidi sellele, kui lihtne see oli: lihtsalt selle skripti RigidBody2D rakendamisel on meil füüsika täiesti funktsionaalne.

Tehke täpselt sama asi platvormiga, klõpsake nuppu Esita ja siis peaks teie tegelane langema kindlale pinnale. Lihtne!

Veel üks asi: veendumaks, et kaamera jälgib meie mängijat, vaatamata sellele, kas nad kukuvad või liiguvad, tahame stseenis oleva kaameraobjekti (see loodi uue projekti käivitamisel) mängija peale. Nüüd hierarhias (vasakul asuv GameObjektide loend) lohistate kaamerat nii, et see oleks mängija alla lohistatud. Kaamera on nüüd Player GameObject 'laps', mis tähendab, et kui mängija liigub, siis ka kaamera.

Teie esimene skript

Me teeme põhilise lõpmatu jooksja ja see tähendab, et meie tegelane peaks liikuma otse üle ekraani, kuni nad tabavad takistuse. Selleks vajame skripti. Nii paremklõpsake allosas asuvas kaustas Assetid ja looge uus kaust nimega Skriptid. Nüüd paremklõpsake uuesti ja valige „Loo> C # skript”. Kutsuge seda “PlayerControls”.

Enamasti määratlevad meie loodud skriptid meie GameObjektide konkreetse käitumise.

Nüüd topeltklõpsake oma uut skripti ja see kuvatakse Visual Stuudios, kui kõik õigesti seadistada.

Siin on juba mingi kood, see on „boileri kood”. See tähendab, et see on kood, mida peate kasutama peaaegu igas skriptis, nii et aja säästmiseks on see teie jaoks valmis. Nüüd lisame uue objekti selle reaga tühja Start () kohale:

avalik Rigidbody2D rb;

Seejärel asetage järgmine koodirida meetodi Start () alla jäika kere leidmiseks. Põhimõtteliselt käsib see Unityl leida GameObjektile lisatud füüsika, millega see skript seostatakse (muidugi meie mängijaga). Start () on meetod, mis käivitatakse kohe, kui uus objekt või skript on loodud. Füüsikaobjekti asukoht:

rb = GetComponent();

Lisage see värskenduse () sisemusse:

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

Uuendamine () värskendatakse korduvalt ja nii töötab siin olev kood ikka ja jälle, kuni objekt hävitatakse. See kõik ütleb, et me tahame, et meie jäigale kehale oleks uus vektor, sama kiirusega y-teljel (rb.velocity.y), kuid horisontaalteljel kiirusega '3'. Edenemisel kasutate tulevikus tõenäoliselt rakendust „FixedUpdate ()”.

Salvestage see ja minge tagasi Ühtsusse. Klõpsake mängija tähemärgil ja valige siis inspektoris Lisa komponent> Skriptid ja seejärel uus skript. Klõpsake nuppu Esita ja buum! Teie tegelane peaks nüüd liikuma rööpa serva poole nagu lemming.

Märkus. Kui see kõik tundub segane, siis vaadake lihtsalt videot, et näha, kuidas see kõik valmis saab - sellest on abi!

Väga lihtne mängija sisend

Kui tahame lisada hüppefunktsiooni, saame seda teha väga lihtsalt ühe täiendava kooditüki abil:

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

See käib värskendusmeetodi kohta ja öeldakse, et 'kui mängija klõpsab', lisage y-teljele kiirus (väärtusega 5). Kui kasutame if, kasutatakse sulgudes sisalduvat mis tahes tõese või vale testina. Kui sulgudes olev loogika on tõene, siis töötab järgmistes sulgudes olev kood. Sel juhul, kui mängija klõpsab hiirt, lisatakse kiirus.

Android loeb hiire vasakklõpsu kui koputamist ekraanil ükskõik kuhu! Nüüd on teie mängul põhilised kraanikontrollid.

Teie aluse leidmine

See on põhimõtteliselt piisav, et teha Flappy Birds kloon. Visake mõned takistused ja õppige, kuidas hävitada mängija, kui see neid puudutab. Selle peale lisage skoor.

Kui sellest aru saada, pole ükski väljakutse tulevikus liiga suur

Kuid meil on natuke rohkem aega, et saaksime ambitsioonikamaks muutuda ja teha selle asemel lõpmatu jooksja tüüpi mängu. Ainus, mis meil praegu viga on, on see, et koputades hüpatakse ka siis, kui mängija põrandat ei puuduta, nii et see võib sisuliselt lennata.

Selle parandamine muutub natuke keerukamaks, kuid see on umbes nii raske, kui Ühtsus saab. Kui sellest aru saada, pole ükski väljakutse tulevikus liiga suur.

Lisage värskenduse () meetodi kohal oma skripti järgmine kood:

public Transform groundCheck; avalik teisendus startPosition; avalik ujukipesaCheckRadius; avalik LayerMask whatIsGround; privaatne loll maa peal;

Lisage see rida värskendusmeetodile if-lause kohal:

onGround = Füüsika2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround);

Lõpuks muutke järgmist rida nii, et see hõlmaks && onGround:

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

Kogu asi peaks välja nägema selline:

avaliku klassi PlayerControls: MonoBehaviour {public Rigidbody2D rb; public Transform groundCheck; avalik teisendus startPosition; avalik ujukipesaCheckRadius; avalik LayerMask whatIsGround; privaatne loll maa peal; void Start () {rb = GetComponent(); } tühine värskendus () {rb.velocity = new Vector2 (3, rb.velocity.y); onGround = Füüsika2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround); if (Input.GetMouseButtonDown (0) && onGround) {rb.velocity = new Vector2 (rb.velocity.x, 5); }}}

See, mida me siin teeme, on uue teisenduse - ruumis asuva positsiooni - loomine, siis määrame selle raadiuse ja küsime, kas see kattub kihiga, mida nimetatakse maapinnaks. Seejärel muudame tõeväärtuse väärtust (mis võib olla tõene või vale) sõltuvalt sellest, kas see on nii või mitte.

Niisiis on onGround tõsi, kui teisend, mille nimi on groundCheck, kattub kihi maapinnaga.

Kui klõpsate nuppu Salvesta ja liigute siis tagasi Ühtsusse, peaksite nüüd nägema, et mängija valimisel on inspektoril saadaval rohkem võimalusi. Neid avalikke muutujaid saab näha Ühtsuse enda seest ja see tähendab, et me saame need seada vastavalt soovile.

Uue tühja objekti loomiseks paremklõpsake vasakul asuvas hierarhias ja lohistage see siis nii, et see asub stseeniaknas oleva mängija all, kus soovite põrandat tuvastada. Pange objekt ümber "Check Ground" ja muutke see siis lapse mängijaks, nagu sa tegid seda kaameraga. Nüüd peaks see mängijat jälgima, kontrollides selle all olevat põrandat samamoodi.

Valige mängija uuesti ja lohistage inspektoris uus objekt Check Ground ruumi, kus see ütleb „groundCheck”. 'Teisendus' (positsioon) võrdub nüüd uue objekti positsiooniga. Siin viibimise ajal sisestage 0,1, kus see ütleb raadiuse kohta.

Lõpuks peame määratlema oma maapealse kihi. Selleks valige varem loodud maastik, seejärel leidke inspektori paremas ülanurgas üles koht, kus on kiri Kiht: Vaike. Klõpsake seda rippmenüüd ja valige „Lisa kiht”.

Nüüd klõpsake tagasi ja valige seekord oma platvormi kihiks „maa” (korrake seda kõigi teiste platvormide korral, mille ümber ujute). Lõpuks, kui seal on teie mängija pealkiri „Mis on maapind”, valige ka aluskiht.

Te ütlete oma mängijale skripti, et kontrollida, kas ekraani väike punkt kattub selle kihiga. Tänu sellele reale, mille me varem lisasime, hüppab tegelane nüüd alles siis, kui see nii on.

Ja kui tabasite mängu, saate nautida päris lihtsat mängu, mis nõuab, et klõpsaksite õigel ajal hüppamiseks.

Kui tabasite mängu, saate nautida päris lihtsat mängu, mis nõuab, et klõpsaksite õigel ajal hüppamiseks. Kui seadistate Unity korralikult Android SDK-ga, siis peaksite saama selle üles ehitada ja käivitada ning seejärel oma nutitelefonis mängida, koputades ekraani, et hüpata.

Tee ees

Ilmselt on selle täismängu jaoks veel palju lisada. Mängija peaks saama surra ja resupbleerida. Soovime lisada täiendavaid tasemeid ja palju muud.

Minu eesmärk siin oli näidata teile, kui kiiresti saate midagi lihtsat ja korralikku saada. Neid juhiseid järgides oleksite võinud oma lõpmatu jooksja kiiresti üles ehitada, lastes Ühtsusel lihtsalt füüsikaga hakkama saada.

Kui teate, mida soovite ehitada, ja teete oma uurimistööd, ei pea te korraliku mängu loomiseks olema kodeerimisviisard!

Kui olete Fitbit Veraga ülde tuttav, aate Vera Lite'iga kodu olla. ee on ama originaale ümmargue alumiiniumkorpuega kui ka ama 1,34-tollie LCD-ekraaniga....

Fitbit uurendab oma tootevalikut populaare Vera nutikella eemaldatud veriooniga Fitbit Vera Lite. Vera Lite kannab üle Vera diaini- ja funktioonifilooofiat ning jõuab takukohae hinnaga, kaot...

Huvitav Täna