Buuin ang iyong unang pangunahing laro sa Android sa loob lamang ng 7 minuto (kasama ang Pagkakaisa)

May -Akda: Lewis Jackson
Petsa Ng Paglikha: 11 Mayo 2021
I -Update Ang Petsa: 14 Mayo 2024
Anonim
AGAWANG PANYO/INVASION GAME/GRADE FIVE BOYS
Video.: AGAWANG PANYO/INVASION GAME/GRADE FIVE BOYS

Nilalaman


Ang paggawa ng isang ganap na nagtatrabaho laro para sa Android ay mas madali kaysa sa maaari mong isipin. Ang susi sa matagumpay na pag-unlad ng Android - o anumang uri ng pag-unlad - ay malaman kung ano ang nais mong makamit at hanapin ang mga kinakailangang tool at kasanayan upang gawin ito. Alamin ang landas ng hindi bababa sa paglaban at magkaroon ng isang malinaw na layunin sa isip.

Pagdating sa paglikha ng mga laro, ang pinakamahusay na tool sa aking opinyon ay ang Pagkakaisa. Oo, maaari kang gumawa ng isang laro sa Android Studio, ngunit maliban kung naranasan mo ang Java at ang Android SDK ito ay magiging isang nakaganyak na pakikibaka. Kailangan mong maunawaan kung ano ang ginagawa ng mga klase. Kailangan mong gumamit ng mga pasadyang pananaw. Ikaw ay umaasa sa ilang mga karagdagang aklatan. Nagpapatuloy ang listahan.

Ang pagkakaisa ay isang mataas na propesyonal na tool na pinapagana ang karamihan sa mga pinakamalaking pamagat na nagbebenta sa Play Store.


Ang pagkakaisa sa kabilang banda ay ginagawa ng karamihan sa trabaho para sa iyo. Ito ay isang makina ng laro, nangangahulugan na ang lahat ng mga pisika at marami sa iba pang mga tampok na maaaring nais mong gamitin ay naalagaan. Ito ang cross platform at idinisenyo ito upang maging napaka-nagsisimula para sa mga hobbyist at mga developer ng indie.

Kasabay nito, ang Pagkakaisa ay isang mataas na propesyonal na tool na pinapagana ang karamihan sa pinakamalaking mga pamagat na nagbebenta sa Play Store. Walang mga limitasyon dito at walang magandang dahilan upang mas mahirap ang buhay para sa iyong sarili. Libre din ito!

Upang ipakita kung gaano kadali ang pag-unlad ng laro sa Unity, ipapakita ko sa iyo kung paano gawin ang iyong unang laro sa Android sa loob lamang ng 7 minuto.

Hindi - Hindi ako pupunta ipaliwanag kung paano gawin ito sa 7 minuto. Pupunta ako sa gawin mo sa 7 minuto. Kung susundin mo rin, magagawa mo ang eksaktong eksaktong bagay!


Pagtatanggi: bago tayo magsimula, nais ko lang ituro na bahagya akong nagdaraya. Habang ang proseso ng paggawa ng laro ay tatagal ng 7 minuto, ipinapalagay na na-install mo na ang Unity at nakuha ang lahat. Ngunit hindi kita iiwan na nakabitin: maaari kang makahanap ng isang buong tutorial sa kung paano gawin iyon nang higit pa.

Pagdaragdag ng mga sprite at pisika

Magsimula sa pamamagitan ng pag-double click sa Unity upang ilunsad ito. Kahit na ang pinakamahabang paglalakbay ay nagsisimula sa isang solong hakbang.

Ngayon lumikha ng isang bagong proyekto at tiyaking pinili mo ang '2D'. Kapag nakapasok ka, sasalubungin ka ng ilang magkakaibang windows. Gumagawa ito. Wala kaming oras upang ipaliwanag, kaya sundin lamang ang aking mga direksyon at pipiliin mo ito habang nagpupunta kami.

Ang unang bagay na nais mong gawin ay ang lumikha ng isang sprite upang maging iyong pagkatao. Ang pinakamadaling paraan upang gawin iyon ay ang pagguhit ng isang parisukat. Bibigyan namin ito ng ilang mga mata. Kung nais mong maging mas mabilis pa rin, maaari ka lamang kumuha ng isang sprite na gusto mo mula sa kung saan.

I-save ang sprite na ito at pagkatapos ay i-drag lamang at ihulog ito sa iyong 'eksena' sa pamamagitan ng paglalagay nito sa pinakamalaking window. Mapapansin mo na lumilitaw din ito sa kaliwa sa 'hierarchy'.

Ngayon nais naming lumikha ng ilang mga platform. Muli, gagawin namin sa isang simpleng parisukat at magagawang baguhin ang laki ng freehand na ito upang makagawa ng mga pader, platform at kung ano ang mayroon ka.

Doon tayo pupunta, maganda. I-drop ito sa parehong paraan na ginawa mo lang.

Mayroon kaming isang bagay na mukhang isang 'laro'. Mag-click sa pag-play at dapat mong makita ang isang static na eksena sa ngayon.

Maaari naming baguhin iyon sa pamamagitan ng pag-click sa aming manlalaro na sprite at tumingin sa kanan sa window na tinatawag na 'inspector'. Dito namin binago ang mga katangian para sa aming GameObjects.

Piliin ang 'Magdagdag ng Component' at pagkatapos ay piliin ang 'Physics 2D> RigidBody2D'. Idinagdag mo lang ang pisika sa iyong player! Ito ay magiging hindi kapani-paniwalang mahirap para sa amin na gawin sa aming sarili at talagang pinasisigla ang pagiging kapaki-pakinabang ng Unity.

Nais din naming ayusin ang aming orientation upang maiwasan ang character na umiikot at freewheeling sa paligid. Maghanap ng 'mga hadlang' sa inspektor kasama ang napiling player at lagyan ng tsek ang kahon upang i-freeze ang pag-ikot Z. Ngayon ay muling mag-click sa pag-play muli at dapat mong makita na ang iyong player ay bumaba mula sa kalangitan hanggang sa kanyang walang katapusang kahihinatnan.

Maglaan ng sandali upang pagnilayan kung gaano kadali ito: sa pamamagitan lamang ng paglalapat ng script na ito na tinatawag na 'RigidBody2D' mayroon kaming ganap na functional na pisika. Kung ilalapat namin ang parehong script sa isang bilog na hugis, magulong din ito at maging bobo. Isipin ang pag-cod na ang iyong sarili at kung paano kasangkot iyon!

Upang mapigilan ang aming character na bumagsak sa sahig, kakailanganin mong magdagdag ng isang collider. Ito ay karaniwang ang solidong balangkas ng isang hugis. Upang mailapat ito, piliin ang iyong player, i-click ang 'Magdagdag ng Component' at sa oras na ito piliin ang 'Physics 2D> BoxCollider2D'.

Maglaan ng sandali upang pagnilayan kung gaano kadali ito: sa pamamagitan lamang ng paglalapat ng script na ito na tinatawag na 'RigidBody2D' mayroon kaming ganap na functional na pisika.

Gawin ang tumpak na parehong bagay sa platform, i-click ang pag-play at pagkatapos ay dapat bumaba ang iyong karakter sa solidong lupa. Madali!

Isa pang bagay: upang matiyak na sumusunod ang camera sa aming player kung bumabagsak o gumagalaw, nais naming i-drag ang object ng camera na nasa eksena (nilikha ito noong sinimulan mo ang bagong proyekto) sa tuktok ng player. Ngayon sa hierarchy (ang listahan ng GameObjects sa kaliwa) i-drag mo ang camera upang mai-indent ito sa ilalim ng player. Ang camera ngayon ay isang 'anak' ng Player GameObject, nangangahulugang kapag gumagalaw ang player, ganoon din ang camera.

Ang iyong unang script

Gagawa kami ng isang pangunahing walang katapusan na runner at nangangahulugan ito na dapat lumipat ang aming karakter sa buong screen hanggang sa maabot nila ang isang balakid. Para rito, kailangan namin ng isang script. Kaya mag-right click sa folder ng Assets sa ibaba at lumikha ng isang bagong folder na tinatawag na 'Scripts'. Ngayon mag-click muli at piliin ang 'Lumikha> C # Script'. Tawagan itong 'PlayerControls'.

Para sa pinakamaraming bahagi ang mga script na nilikha namin ay tukuyin ang mga tukoy na pag-uugali para sa aming GameObjects.

Ngayon i-double click ang iyong bagong script at bubuksan ito sa Visual Studio kung tama mong itinakda ang lahat.

Mayroon nang ilang code dito, na kung saan ay 'boiler plate code'. Nangangahulugan ito na ang code na kakailanganin mong gamitin sa halos bawat script, kaya't handa na ang populasyon nito para makatipid ka ng oras. Ngayon ay magdagdag kami ng isang bagong bagay na may linya na ito sa itaas nang walang simula ():

pampublikong Rigidbody2D rb;

Pagkatapos ay ilagay ang susunod na linya ng code sa loob ng pamamaraan ng Start () upang mahanap ang rigidbody. Karaniwang sinasabi nito sa Unity na hanapin ang pisika na nakakabit sa GameObject na ang script na ito ay maiugnay sa (aming manlalaro siyempre). Ang Start () ay isang pamamaraan na naisakatuparan sa sandaling nilikha ang isang bagong bagay o script. Hanapin ang object ng pisika:

rb = GetComponent();

Idagdag ito sa loob ng I-update ():

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

Ang pag-update () ay nag-refresh nang paulit-ulit at sa gayon ang anumang code dito ay paulit-ulit na tatakbo hanggang sa masira ang bagay. Sinabi ng lahat na nais namin ang aming mga taong mahigpit na magkaroon ng isang bagong vector na may parehong bilis sa y axis (rb.velocity.y) ngunit sa bilis ng '3' sa pahalang na axis. Habang sumusulong ka, malamang na gagamitin mo ang 'FixedUpdate ()' sa hinaharap.

I-save ito at bumalik sa Unity. I-click ang character ng player at pagkatapos ay sa inspector piliin ang Magdagdag ng Component> Mga script at pagkatapos ang iyong bagong script. Mag-click sa pag-play, at boom! Ang iyong pagkatao ay dapat na lumipat ngayon sa gilid ng baybayin tulad ng isang lemming.

Tandaan: Kung ang alinman sa mga tunog na ito ay nakalilito, panoorin lamang ang video upang makita ang lahat ng ito ay tapos na - makakatulong ito!

Napaka pangunahing pag-input ng player

Kung nais naming magdagdag ng isang tampok na tumalon, magagawa natin ito nang simple sa isang karagdagang bit na code lamang:

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

Pumunta ito sa loob ng paraan ng Pag-update at sinabi nito na 'kung ang player ay nag-click' pagkatapos magdagdag ng bilis sa y axis (na may halaga 5). Kapag gagamitin namin kung, ang anumang sumunod sa loob ng mga bracket ay ginagamit bilang isang uri ng totoo o maling pagsubok. Kung ang lohika sa loob ng sinabi ng mga bracket ay totoo, kung gayon ang code sa sumusunod na mga kulot na bracket ay tatakbo. Sa kasong ito, kung ang player ay nag-click sa mouse, idinagdag ang bilis.

Binasa ng Android ang kaliwang pag-click sa mouse bilang pag-tap sa kahit saan sa screen! Kaya ngayon ang iyong mga laro ay may pangunahing mga kontrol sa tap.

Paghahanap ng iyong paa

Ito ay karaniwang sapat upang makagawa ng isang Clappy Birds na clone. Itapon sa ilang mga hadlang at alamin kung paano sirain ang player kapag hinawakan ang mga ito. Magdagdag ng isang marka sa tuktok ng.

Kung babagsak mo ito, walang hamon ang magiging napakaganda sa hinaharap

Ngunit mayroon kaming kaunting oras upang makakuha kami ng mas mapaghangad at gumawa ng isang walang katapusang laro ng uri ng runner. Ang tanging bagay na mali sa kung ano ang mayroon tayo sa sandaling ito ay ang pag-tap jump ay tumalon kahit na ang player ay hindi hawakan ang sahig, kaya maaari itong lumipad.

Ang pagtanggal nito ay nakakakuha ng isang maliit na mas kumplikado ngunit ito ay tungkol sa mahirap na makukuha ng Unity. Kung babagsak mo ito, walang hamon ang magiging napakaganda sa hinaharap.

Idagdag ang sumusunod na code sa iyong script sa itaas ng paraan ng Update ():

pampublikong Transform groundCheck; pampublikong pagsisimula ng Pagbabago; pampublikong float groundCheckRadius; pampublikong LayerMask anoIsGround; pribadong bool onGround;

Idagdag ang linya na ito sa paraan ng Pag-update sa itaas kung ang pahayag:

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

Sa wakas, palitan ang sumusunod na linya upang isama ang && onGround:

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

Ang buong bagay ay dapat magmukhang ganito:

pampublikong klase PlayerControls: MonoBehaviour {pampublikong Rigidbody2D rb; pampublikong Transform groundCheck; pampublikong pagsisimula ng Pagbabago; pampublikong float groundCheckRadius; pampublikong LayerMask anoIsGround; pribadong bool onGround; walang bisa Start () {rb = GetComponent(); } walang bisa Update () {rb.velocity = bagong Vector2 (3, rb.velocity.y); onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround); kung (Input.GetMouseButtonDown (0) && onGround) {rb.velocity = bagong Vector2 (rb.velocity.x, 5); }}}

Ang ginagawa namin dito ay ang paglikha ng isang bagong pagbabagong-anyo - isang posisyon sa espasyo - pagkatapos ay itatakda namin ang radius nito at tatanungin kung tinatakpan ito ng isang layer na tinatawag na ground. Pagkatapos ay binabago namin ang halaga ng Boolean (na maaaring maging totoo o mali) depende sa kung iyon ang kaso.

Kaya, ang onGround ay totoo kung ang pagbabagong tinatawag na groundCheck ay sumasapaw sa layer ground.

Kung nag-click ka sa pag-save at pagkatapos ay bumalik sa Unity, dapat mo na ngayong makita na mayroon kang maraming mga pagpipilian na magagamit sa iyong inspektor kapag pinili mo ang player. Ang mga pampublikong variable na ito ay makikita mula sa loob ng Unity mismo at nangangahulugan ito na maaari nating itakda ang mga ito subalit gusto natin.

Mag-right-click sa hierarchy sa kaliwa upang lumikha ng isang bagong walang laman na bagay at pagkatapos ay i-drag ito upang ito ay sa ilalim lamang ng player sa window ng Scene kung saan nais mong makita ang sahig. Palitan ang pangalan ng object na 'Check Ground' at pagkatapos ay gawin itong isang anak ng player tulad ng ginawa mo sa camera. Ngayon dapat itong sundin ang player, suriin ang sahig sa ilalim ng ginagawa nito.

Piliin muli ang player at, sa inspektor, i-drag ang bagong Check Ground object sa puwang kung saan sinasabing 'groundCheck'. Ang 'pagbabagong' (posisyon) ay magiging katumbas ng posisyon ng bagong bagay. Habang narito ka, ipasok ang 0.1 kung saan sinasabi nito ang radius.

Sa wakas, kailangan nating tukuyin ang aming 'ground' layer. Upang gawin ito, piliin ang terrain na nilikha mo nang mas maaga, at pagkatapos ay nasa kanang tuktok sa inspektor, hanapin kung saan sinasabi nito na 'Layer: Default'. I-click ang drop down box na ito at piliin ang 'Magdagdag ng Layer'.

Ngayon ay i-click muli at sa oras na ito piliin ang 'ground' bilang layer para sa iyong platform (ulitin ito para sa anumang iba pang mga platform na iyong lumulutang). Sa wakas, kung saan sinasabing 'Ano ang Ground' sa iyong player, piliin din ang ground layer.

Sinasabi mo na ngayon sa iyong script ng player upang suriin kung ang maliit na punto sa screen ay sumasapaw sa anumang bagay na tumutugma sa layer na ito. Salamat sa linyang iyon na idinagdag namin nang mas maaga, ang character ay ngayon lamang tumalon kapag iyon ang kaso.

At kasama nito, kung pinindot mo ang pag-play, maaari mong tangkilikin ang isang medyo pangunahing laro na nangangailangan sa iyo upang mag-click upang tumalon sa tamang oras.

Gamit ang, kung na-hit mo ang pag-play maaari mong tangkilikin ang isang medyo pangunahing laro na nangangailangan sa iyo upang mag-click upang tumalon sa tamang oras. Kung itinakda mo nang maayos ang iyong Unity sa Android SDK, dapat mong mabuo at patakbuhin ito at pagkatapos ay maglaro sa iyong smartphone sa pamamagitan ng pag-tap sa screen upang tumalon.

Ang daan sa unahan

Malinaw na marami pa ang maidaragdag upang gawin itong isang buong laro. Ang player ay dapat na mamatay at huminga. Nais naming magdagdag ng dagdag na antas at marami pa.

Ang pakay ko rito ay upang ipakita sa iyo kung gaano kabilis makakakuha ka ng isang pangunahing bagay at pagtakbo. Kasunod ng mga tagubiling ito, dapat mong mabuo ang iyong walang hanggan na runner nang walang oras sa pamamagitan lamang ng pagpapaalam sa Unity na hawakan ang mga mahirap na bagay, tulad ng pisika.

Kung alam mo kung ano ang nais mong itayo at gawin ang iyong pananaliksik, hindi mo kailangang maging isang coding ng coding upang lumikha ng isang disenteng laro!

Minan kapag nakatanggap ka ng iang tekto a iyong telepono, nai mong ipadala ang tekto na iyon a ibang tao. Marahil kailangan mong ipaalam a iba na ang iang kaibigan ay darating para a hapunan, o marah...

a higit a 25 milyong mga tagaukribi a U, ang Hulu ay ia a pinakamalaking erbiyo ng premium treaming a Amerika. Hindi lamang pinapayagan nito ang pag-acce ng on-demand a libu-libong mga klaikong, kamak...

Hitsura