Készítse el első Android játékát mindössze 7 perc alatt (az Unity segítségével)

Szerző: Lewis Jackson
A Teremtés Dátuma: 11 Lehet 2021
Frissítés Dátuma: 1 Július 2024
Anonim
Készítse el első Android játékát mindössze 7 perc alatt (az Unity segítségével) - Hírek
Készítse el első Android játékát mindössze 7 perc alatt (az Unity segítségével) - Hírek

Tartalom


A teljesen működő játék készítése Androidra sokkal könnyebb, mint gondolnád. A sikeres Android - vagy bármilyen fejlesztés - kulcsa az, hogy tudja, mit akar elérni, és megtalálja a végrehajtásához szükséges eszközöket és készségeket. Haladjon a legkevesebb ellenállás útján, és tartson szem előtt egyértelmű célt.

A játékok létrehozásakor véleményem szerint a legjobb eszköz az Unity. Igen, készíthet játékot az Android Studio alkalmazásban, de ha nincs tapasztalata a Java-val és az Android SDK-val, akkor felfelé irányuló harc lesz. Meg kell értenie, hogy mit végeznek az osztályok. Egyéni nézeteket kell használnia. Bizonyos további könyvtárakra támaszkodhat. A lista folytatódik.

Az Unity egy nagyon professzionális eszköz, amely a Play Áruház legnagyobb eladási címeinek nagy többségét biztosítja.


Az egység ugyanakkor a munka nagy részét az Ön számára végzi. Ez egy játékmotor, ami azt jelenti, hogy az összes fizika és sok más olyan szolgáltatás, amelyet esetleg érdemes használni, már gondozott. Keresztplatform, és nagyon kezdõbarát lett kialakítva a hobbiisták és az indie-fejlesztõk számára.

Ugyanakkor az Unity egy nagyon professzionális eszköz, amely a Play Áruház legnagyobb eladási címeinek túlnyomó részét hatalmazza fel. Itt nincsenek korlátozások és nincs jó ok arra, hogy nehezebbé tegyék az életet. Ingyenes is!

Annak demonstrálására, hogy az Unity milyen egyszerű játékfejlesztést jelent, bemutatom, hogyan készítheted el első Android játékod mindössze 7 perc alatt.


Nem - nem megyek megmagyarázni hogyan kell csinálni 7 perc alatt. Megyek csináld 7 perc alatt. Ha követed is, pontosan ugyanazt tudod csinálni!

lemondás: mielőtt elkezdenénk, csak azt szeretném rámutatni, hogy kissé csalom. Bár a játék elkészítése 7 percig tart, az azt feltételezi, hogy már telepítette a Unity-t, és mindent beállított. De nem hagyom, hogy lefagyjon: teljes oktatóprogramot talál a következő címen:

Sprit és fizika hozzáadása

Először kattintson duplán a Unity elemre annak elindításához. Még a leghosszabb utazás egyetlen lépéssel kezdődik.

Most hozzon létre egy új projektet, és győződjön meg arról, hogy a „2D” lehetőséget választotta. Ha belépsz, néhány különféle ablakon keresztül üdvözölni fogod. Ezek dolgok. Nincs időnk magyarázni, tehát csak kövesse az utasításokat, és akkor felveszi, amint megyünk.

Az első dolog, amit meg akarsz csinálni, az az, hogy létrehozsz egy karakterláncot, hogy legyen a karaktered. Ennek legegyszerűbb módja egy négyzet rajzolása. Pár szemmel látjuk el. Ha még gyorsabb akarsz lenni, akkor megragadhatsz egy kedves sprite-t valahol.

Mentse el ezt a szót, majd húzza és dobja be a „jelenetbe” azáltal, hogy a legnagyobb ablakba helyezi. Észre fogja venni, hogy balra megjelenik a 'hierarchiában'.

Most néhány platformot akarunk létrehozni. Megint meg fogunk csinálni egy egyszerű négyzetet, és átméretezzük ezt a szabadkézi falak, peronok és mások készítéséhez.

Ott megyünk, gyönyörű. Dobja el ugyanúgy, mint éppen.

Van már valami, ami úgy néz ki, mint egy „játék”. Kattintson a lejátszás gombra, és egy statikus jelenet jelenik meg.

Ezt megváltoztathatjuk, ha rákattintunk a játékosainkra és átnézzük jobbra az „ellenőr” nevű ablakot. Itt változtathatjuk meg a GameObjects tulajdonságait.

Válassza az „Összetevő hozzáadása” lehetőséget, majd válassza a „Physics 2D> RigidBody2D” elemet. Éppen hozzáadta a fizikát a lejátszóhoz! Ezt hihetetlenül nehéz lenne számunkra önállóan csinálni, és valóban kiemeli az egység hasznosságát.

Azt is meg akarjuk javítani a tájolást, hogy megakadályozzuk a karakter centrifugálását és szabad mozgását. Keresse meg a „korlátozásokat” az ellenőrben a kiválasztott lejátszóval, és jelölje be a négyzetet a rotáció Z befagyasztásához. Most kattintson a lejátszás gombra, és meg kell találnia, hogy a játékos most az égből esik végtelen végzetéhez.

Szánjon rá egy percet arra, hogy meggondolja, milyen egyszerű volt ez: egyszerűen ezt a „RigidBody2D” nevű szkriptet alkalmazva teljes funkcionalitással rendelkezik a fizika. Ha ugyanazt a forgatókönyvet alkalmazzuk egy kerek formára, akkor az is gördül, és akár pattog. Képzelje el, hogy saját magát kódolja, és hogy mekkora lenne az!

Annak megakadályozására, hogy karakterünk a padlón keresztül esik, hozzá kell adnia egy ütközőt. Ez alapvetően a forma szilárd vázlata. Ennek alkalmazásához válassza ki a lejátszót, kattintson az „Összetevő hozzáadása” elemre, és ezúttal válassza a „Fizika 2D> BoxCollider2D” lehetőséget.

Szánjon rá egy percet arra, hogy meggondolja, milyen egyszerű volt ez: egyszerűen ezt a „RigidBody2D” nevű szkriptet alkalmazva teljes funkcionalitással rendelkezik a fizika.

Pontosan ugyanazt csináld a platformon, kattints a play gombra, majd a karaktered leesik a szilárd földre. Könnyen!

Még egy dolog: annak biztosítása érdekében, hogy a kamera kövesse a lejátszót, függetlenül attól, hogy esik-e vagy mozog-e, szeretnénk a helyszínen lévő fényképezőgép-objektumot (ezt az új projekt elindításakor készítették) a lejátszó tetejére húzni. Most a hierarchiában (a bal oldalon a GameObjects listája) fogod elhúzni a kamerát úgy, hogy az bemélyedjen a lejátszó alá. A kamera most a PlayerObject „gyermeke”, ami azt jelenti, hogy amikor a játékos mozog, úgy a kamera is.

Az első forgatókönyv

Fogunk készíteni egy alapvető végtelen futót, és ez azt jelenti, hogy karakterünknek jobbra kell mozognia a képernyőn, amíg akadályt nem találnak. Ehhez szükségünk van egy forgatókönyvre. Tehát jobb egérgombbal kattintson az Eszközök mappára az alsó sarokban, és hozzon létre egy új mappát, a 'Scripts' nevű mappát. Most kattintson újra a jobb egérgombbal, és válassza a „Létrehozás> C # szkript” lehetőséget. Hívjuk „PlayerControls” -nek.

Az általunk létrehozott szkriptek nagyrészt meghatározzák a GameObjects speciális viselkedését.

Most kattintson duplán az új szkriptre, és a Visual Studio megnyílik, ha mindent helyesen állít be.

Van már itt valamilyen kód, azaz a „kazánlap kód”. Ez azt jelenti, hogy az a kód, amelyet szinte minden szkriptben használni kell, így időt takaríthat meg az ön számára. Most hozzáadunk egy új objektumot ezzel a sorral az érvénytelen Start () felett:

nyilvános Rigidbody2D rb;

Ezután helyezze el ezt a következő sorot a Start () módszerbe, hogy megtalálják a merev testet. Ez alapvetően azt mondja az Unity-nak, hogy keresse meg a GameObjecthez csatolt fizikát, amelyhez ez a szkript társul (természetesen a játékosunkhoz). A Start () egy metódus, amelyet egy új objektum vagy szkript létrehozása után hajtanak végre. Keresse meg a fizikai objektumot:

rb = GetComponent();

Adja hozzá ezt a frissítés () részéhez:

rb.velocity = új Vector2 (3, rb.velocity.y);

A frissítés () többször frissül, és így az itt lévő kód újra és újra fut, amíg az objektum megsemmisül. Mindez azt mondja, hogy azt akarjuk, hogy merevtestünknek legyen egy új vektore, amelynek sebessége azonos az y tengelyen (rb.velocity.y), de a vízszintes tengelyen „3” sebességgel. Ahogy haladsz, valószínűleg a 'FixedUpdate ()' -t fogod használni a jövőben.

Mentsd el ezt, és menj vissza az egységbe. Kattintson a játékos karakterére, majd az ellenőrben válassza az Alkatrész hozzáadása> Szkriptek lehetőséget, majd az új szkriptet. Kattintson a lejátszás és a boom! A karakterednek most a párkány széle felé kell mozognia, mint egy lemmingnek.

Megjegyzés: Ha ez valamelyik zavarónak tűnik, csak nézze meg a videót, hogy megnézze az egészet - segít!

Nagyon alapvető játékos bemenet

Ha hozzá akarunk adni egy ugrási funkciót, ezt nagyon egyszerűen megtehetjük egyetlen további bit kóddal:

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

Ez a frissítési módszer belsejében áll, és azt mondja, hogy „ha a játékos kattint”, akkor adjon hozzá sebességet az y tengelyen (5-ös értékkel). Ha az if-t használjuk, bármit, ami a zárójelben található, valamilyen valódi vagy hamis tesztként használjuk. Ha a zárójelben szereplő logika igaz, akkor a következő göndör zárójelben szereplő kód fut. Ebben az esetben, ha a játékos az egérre kattint, a sebesség hozzáadódik.

Az Android a bal egérgombbal úgy olvasható, mintha bárhol megérinti a képernyőt! Tehát most a játéknak alapvető csapvezérlői vannak.

Megtalálja az alapjait

Ez alapvetően elég egy Flappy Birds klón létrehozásához. Dobj el néhány akadályt, és tanulja meg, hogyan lehet elpusztítani a játékost, amikor megérinti őket. Adj hozzá egy pontszámot rá.

Ha ezt elmulasztja, a jövőben egyik kihívás sem lesz túl nagy

De van egy kicsit több időnk, így ambiciózusabbak lehetünk, és ehelyett végtelen futó típusú játékot készíthetünk. Jelenleg az egyetlen baj, amiben van, az, hogy a koppintással ugrik akkor is, ha a játékos nem érinti a talajt, így lényegében repülni tud.

Ennek kijavítása egy kicsit összetettebbé válik, de ez annyira nehéz, mint az Egység. Ha ezt elmulasztja, a jövőben egyik kihívás sem lesz túl nagy.

Adja hozzá a következő kódot a parancsfájlhoz az Update () módszer fölött:

public Transform groundCheck; public Transform startPosition; nyilvános úszóföldCheckRadius; nyilvános LayerMask whatIsGround; magán bool onGround;

Adja hozzá ezt a sort a frissítési módszerhez az if utasítás fölött:

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

Végül változtassa meg a következő sort, hogy az tartalmazza a && onGround alkalmazást:

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

Az egésznek így kell kinéznie:

nyilvános osztályú PlayerControls: MonoBehaviour {public Rigidbody2D rb; public Transform groundCheck; public Transform startPosition; nyilvános úszóföldCheckRadius; nyilvános LayerMask whatIsGround; magán bool onGround; void Start () {rb = GetComponent(); } érvénytelen frissítés () {rb.velocity = új Vector2 (3, rb.velocity.y); onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround); if (Input.GetMouseButtonDown (0) && onGround) {rb.velocity = új Vector2 (rb.velocity.x, 5); }}}

Amit itt csinálunk, egy új transzformációt hozunk létre - egy helyet a térben -, akkor beállítjuk a sugárát és megkérdezzük, hogy átfedésben van-e a földnek nevezett réteg. Ezután megváltoztatjuk a logikai érték értékét (amely lehet igaz vagy hamis) attól függően, hogy ez a helyzet.

Tehát az onGround igaz, ha a groundCheck nevű transzformáció átfedésben van a réteg talajával.

Ha rákattint a mentésre, majd visszatér az Unity-ra, most látnia kell, hogy a lejátszó kiválasztásakor több lehetősége van az ellenőrében. Ezek a nyilvános változók maga az egység belsejében láthatók, és ez azt jelenti, hogy beállíthatjuk őket, ahogyan szeretnénk.

Kattintson a jobb gombbal a bal oldali hierarchiában egy új üres objektum létrehozására, majd húzza úgy, hogy éppen a Jelenet ablakban lévő lejátszó alatt legyen, ahol a padlót felismerni szeretné. Nevezze át az „Ellenőrizze a földet” objektumot, és tegye a lejátszó gyermekévé, ugyanúgy, mint a fényképezőgéppel. Most a játékosnak kell követnie, ugyanúgy ellenőrizve a padlót, mint az.

Válassza ki ismét a lejátszót, és az ellenőrben húzza az új Check Ground objektumot arra a helyre, ahol a „groundCheck” felirat szerepel. A 'transzformáció' (pozíció) most megegyezik az új objektum helyzetével. Amíg itt vagy, írja be a 0,1 értéket, ahol a sugár megadása szerepel.

Végül meg kell határoznunk a talajrétegünket. Ehhez válassza ki a korábban létrehozott terepet, majd az ellenőr jobb felső sarkában, és keresse meg a „Réteg: Alapértelmezés” szöveget. Kattintson erre a legördülő mezőre, és válassza az „Réteg hozzáadása” lehetőséget.

Most kattintson a Vissza gombra, és ezúttal válassza a „föld” réteget platformjának (ismételje meg ezt minden más platformon, amelyen úsztok). Végül, ahol a lejátszón az „Mi a talaj” felirat szerepel, válassza ki a talajréteget is.

Most azt mondod a lejátszó szkriptének, hogy ellenőrizze, hogy a képernyő kis pontja átfedi-e valamelyik réteget. A korábban hozzáadott sornak köszönhetően a karakter most csak akkor ugrik fel, amikor ez a helyzet.

És ezzel, ha eltalálja a játékot, élvezheti egy nagyon egyszerű játékot, amely megköveteli a kattintást a megfelelő időben történő ugranihoz.

Ezzel, ha eltalálja a játékot, élvezheti egy nagyon egyszerű játékot, amely megköveteli, hogy kattintson a megfelelő időben történő ugranihoz. Ha megfelelően beállította Unity-t az Android SDK-val, akkor képesnek kell lennie ennek felépítésére és futtatására, majd a képernyő megérintésével az okostelefonon való lejátszásra.

Az előttünk lévő út

Nyilvánvaló, hogy még egy csomó még hozzá kell tennünk, hogy ez teljes játék legyen. A játékosnak képesnek kell lennie arra, hogy meghaljon és újraéledjen. Szeretnénk még további szinteket hozzáadni.

Célom volt az volt, hogy megmutassam, milyen gyorsan tudsz valami alapvető üzembe helyezni és működni. Ezeknek az utasításoknak a tiszteletben tartásával képes volt arra, hogy a végtelen futót gyorsan felépítse egyszerűen azáltal, hogy hagyja, hogy az Unity kezelje a kemény dolgokat, mint például a fizika.

Ha tudja, mit akar építeni, és elvégzi a kutatását, akkor nem kell kódoló varázslónak lennie egy tisztességes játék létrehozásához!

Még egy hét, a Pixel 4 új hozú litája zivárog. Ezen a ponton zinte mindent látunk, amelyet láthatunk a Google közelgő zázlóhajó telefonjair&...

Ezen a héten előzör megtekintettük a Realme XT-t, az elő kézüléket, amely a amung 64MP kameraérzékelőjét portolja. A kézülékkel való ke...

Kiadványaink