Bouw je eerste eenvoudige Android-game in slechts 7 minuten (met Unity)

Schrijver: Lewis Jackson
Datum Van Creatie: 11 Kunnen 2021
Updatedatum: 1 Juli- 2024
Anonim
The Third Industrial Revolution: A Radical New Sharing Economy
Video: The Third Industrial Revolution: A Radical New Sharing Economy

Inhoud


Een volledig werkend spel maken voor Android is veel eenvoudiger dan je zou denken. De sleutel tot succesvolle Android-ontwikkeling - of welke vorm van ontwikkeling dan ook - is weten wat u wilt bereiken en de nodige tools en vaardigheden vinden om dit te doen. Neem het pad van de minste weerstand en heb een duidelijk doel voor ogen.

Als het gaat om het maken van games, is naar mijn mening het beste hulpmiddel Unity. Ja, je kunt een game maken in Android Studio, maar tenzij je ervaring hebt met Java en de Android SDK zal het een moeizame strijd worden. Je moet begrijpen wat klassen doen. U moet aangepaste weergaven gebruiken. U vertrouwt op enkele aanvullende bibliotheken. De lijst gaat verder.

Unity is een zeer professionele tool die de overgrote meerderheid van de best verkopende titels in de Play Store aanstuurt.

Unity daarentegen doet het meeste werk voor u. Dit is een game-engine, wat betekent dat alle fysica en veel van de andere functies die je misschien wilt gebruiken al zijn geregeld. Het is platformoverschrijdend en het is ontworpen om zeer beginnersvriendelijk te zijn voor hobbyisten en indie-ontwikkelaars.


Tegelijkertijd is Unity een zeer professionele tool die de overgrote meerderheid van de best verkopende titels in de Play Store aanstuurt. Er zijn hier geen beperkingen en geen goede reden om het leven moeilijker te maken voor jezelf. Het is ook gratis!

Om te laten zien hoe gemakkelijk game-ontwikkeling met Unity is, ga ik je laten zien hoe je je eerste Android-game in slechts 7 minuten kunt maken.

Nee - dat ga ik niet doen leg uit hoe het in 7 minuten te doen. Ik ga naar doe het in 7 minuten. Als je ook meegaat, kun je precies hetzelfde doen!

ontkenning: voordat we beginnen, wil ik er alleen op wijzen dat ik een beetje valsspeel. Hoewel het maken van de game 7 minuten duurt, wordt ervan uitgegaan dat je Unity al hebt geïnstalleerd en alles hebt ingesteld. Maar ik laat je niet hangen: je vindt een volledige tutorial over hoe je dat kunt doen op.


Sprites en natuurkunde toevoegen

Begin met dubbelklikken op Unity om het te starten. Zelfs de langste reis begint met een enkele stap.

Maak nu een nieuw project en zorg ervoor dat u '2D' kiest. Zodra u binnen bent, wordt u begroet met een paar verschillende vensters. Deze doen dingen. We hebben geen tijd om het uit te leggen, dus volg gewoon mijn aanwijzingen en u zult het meteen oppikken.

Het eerste wat je wilt doen is een sprite maken om je personage te zijn. De eenvoudigste manier om dat te doen, is door een vierkant te tekenen. We gaan het een paar ogen geven. Als je nog sneller wilt zijn, kun je een sprite die je leuk vindt ergens vandaan halen.

Sla deze sprite op en sleep hem vervolgens gewoon naar je ‘scene’ door hem in het grootste venster te plaatsen. Je zult zien dat het ook links in de ‘hiërarchie’ opduikt.

Nu willen we enkele platforms maken. Nogmaals, we gaan het doen met een eenvoudig vierkant en we kunnen deze uit de vrije hand wijzigen om muren, platforms en wat je hebt te maken.

Daar gaan we, schoonheid. Zet het neer zoals je net deed.

We hebben al iets dat op een ‘spel’ lijkt. Klik op play en je zou nu een statische scène moeten zien.

We kunnen dat veranderen door op onze sprite van de speler te klikken en naar rechts te kijken naar het venster genaamd ‘inspecteur’. Hier veranderen we eigenschappen voor onze GameObjects.

Kies ‘Add Component’ en kies vervolgens ‘Physics 2D> RigidBody2D’. Je hebt zojuist fysica toegevoegd aan je speler! Dit zou voor ons ongelooflijk moeilijk zijn om alleen te doen en benadrukt echt het nut van Unity.

We willen ook onze oriëntatie aanpassen om te voorkomen dat het personage ronddraait en ronddraait. Zoek ‘beperkingen’ in de infovenster met de geselecteerde speler en vink het vakje aan om rotatie Z te bevriezen. Klik nu opnieuw op spelen en je speler zou nu uit de lucht naar zijn oneindige ondergang moeten komen.

Neem een ​​moment om na te denken over hoe gemakkelijk dit was: eenvoudig door het toepassen van dit script genaamd ‘RigidBody2D’ hebben we een volledig functionele fysica. Als we hetzelfde script op een ronde vorm zouden toepassen, zou het ook rollen en zelfs stuiteren. Stel je voor dat je dat zelf codeert en hoe betrokken dat zou zijn!

Om te voorkomen dat ons personage door de vloer valt, moet je een botser toevoegen. Dit is eigenlijk de solide omtrek van een vorm. Om dat toe te passen, kiest u uw speler, klikt u op ‘Component toevoegen’ en selecteert u deze keer ‘Physics 2D> BoxCollider2D’.

Neem een ​​moment om na te denken over hoe gemakkelijk dit was: eenvoudig door het toepassen van dit script genaamd ‘RigidBody2D’ hebben we een volledig functionele fysica.

Doe precies hetzelfde met het platform, klik op play en dan zal je personage op de vaste grond vallen. Gemakkelijk!

Nog een ding: om ervoor te zorgen dat de camera onze speler volgt, of deze nu valt of beweegt, willen we het camera-object in de scène (dit is gemaakt toen u het nieuwe project startte) bovenop de speler slepen. In de hiërarchie (de lijst met GameObjects aan de linkerkant) ga je de camera slepen zodat deze onder de speler ingesprongen is. De camera is nu een ‘kind’ van de Player GameObject, wat betekent dat wanneer de speler beweegt, de camera dat ook doet.

Je eerste script

We gaan een eenvoudige oneindige hardloper maken en dat betekent dat ons personage recht over het scherm moet bewegen totdat ze een obstakel raken. Daarvoor hebben we een script nodig. Klik dus met de rechtermuisknop in de map Activa onderaan en maak een nieuwe map met de naam ‘Scripts’. Klik nu opnieuw met de rechtermuisknop en kies ‘Create> C # Script’. Noem het ‘PlayerControls’.

De scripts die we maken, bepalen voor het grootste deel specifiek gedrag voor onze GameObjects.

Dubbelklik nu op uw nieuwe script en het wordt geopend in Visual Studio als u alles correct hebt ingesteld.

Er is hier al een code, die ‘boiler plate code’ is. Dat betekent dat het de code is die u in bijna elk script moet gebruiken, dus deze is klaar voor u om tijd te besparen. Nu voegen we een nieuw object toe met deze regel boven ongeldige Start ():

openbare Rigidbody2D rb;

Plaats vervolgens deze volgende coderegel in de methode Start () om de rigidbody te vinden. Dit vertelt in feite Unity om de fysica te vinden die is gekoppeld aan het GameObject waaraan dit script zal worden gekoppeld (onze speler natuurlijk). Start () is een methode die wordt uitgevoerd zodra een nieuw object of script wordt gemaakt. Zoek het natuurkundeobject:

rb = GetComponent();

Voeg dit toe binnen Update ():

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

Update () wordt herhaaldelijk vernieuwd en dus wordt elke code hier opnieuw herhaald totdat het object wordt vernietigd. Dit alles zegt dat we willen dat onze rigidbody een nieuwe vector heeft met dezelfde snelheid op de y-as (rb.velocity.y) maar met de snelheid van ‘3’ op de horizontale as. Naarmate je verder komt, zul je in de toekomst waarschijnlijk 'FixedUpdate ()' gebruiken.

Bewaar dat en ga terug naar Unity. Klik op je spelerkarakter en selecteer vervolgens in het infovenster Component toevoegen> Scripts en vervolgens je nieuwe script. Klik op spelen en boem! Je personage moet nu als een lemming naar de rand van de richel bewegen.

Opmerking: als iets van dit verwarrend klinkt, bekijk dan de video om alles te zien gebeuren - het helpt!

Zeer eenvoudige spelerinvoer

Als we een jump-functie willen toevoegen, kunnen we dit heel eenvoudig doen met slechts één extra stukje code:

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

Dit gaat binnen de Update-methode en er staat dat ‘als de speler klikt’ dan snelheid toevoegt op de y-as (met de waarde 5). Wanneer we if gebruiken, wordt alles wat binnen de haakjes volgt gebruikt als een soort echte of valse test. Als de logica tussen de haakjes waar is, wordt de code tussen de volgende accolades uitgevoerd. In dit geval wordt de snelheid toegevoegd als de speler op de muis klikt.

Android leest de linkermuisklik als ergens op het scherm tikken! Dus nu heeft je spel basisbedieningsfuncties.

Je voet vinden

Dit is eigenlijk genoeg om een ​​Flappy Birds-kloon te maken. Gooi enkele obstakels in en leer hoe je de speler kunt vernietigen wanneer deze deze raakt. Voeg daar nog een score aan toe.

Als je dit begrijpt, is geen enkele uitdaging in de toekomst te groot

Maar we hebben iets meer tijd, zodat we ambitieuzer kunnen worden en in plaats daarvan een oneindig runner-achtig spel kunnen maken. Het enige dat mis is met wat we op dit moment hebben, is dat tikkende sprong zal springen, zelfs wanneer de speler de vloer niet raakt, zodat het in wezen kan vliegen.

Dit verhelpen wordt een beetje ingewikkelder, maar dit is ongeveer net zo moeilijk als Unity. Als je dit begrijpt, zal geen enkele uitdaging in de toekomst te groot zijn.

Voeg de volgende code toe aan uw script boven de methode Update ():

openbaar Transform groundCheck; openbaar Transform startPosition; openbare vlottergrond CheckRadius; public LayerMask whatIsGround; private bool onGround;

Voeg deze regel toe aan de methode Update boven de if-instructie:

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

Wijzig ten slotte de volgende regel zodat deze && onGround bevat:

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

Het hele ding zou er zo uit moeten zien:

public class PlayerControls: MonoBehaviour {public Rigidbody2D rb; openbaar Transform groundCheck; openbaar Transform startPosition; openbare vlottergrond CheckRadius; public LayerMask whatIsGround; private bool onGround; void Start () {rb = GetComponent(); } void Update () {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); }}}

Wat we hier doen, is een nieuwe transformatie creëren - een positie in de ruimte - en dan stellen we de straal in en vragen we of deze een laag overlapt die grond wordt genoemd. We veranderen vervolgens de waarde van de Boolean (die waar of onwaar kan zijn) afhankelijk van of dat het geval is.

Dus, onGround is waar als de transformatie met de naam groundCheck de laag ground overlapt.

Als u op Opslaan klikt en vervolgens teruggaat naar Unity, ziet u nu dat er meer opties beschikbaar zijn in uw infovenster wanneer u de speler selecteert. Deze openbare variabelen zijn te zien vanuit Unity zelf en dat betekent dat we ze kunnen instellen zoals we willen.

Klik met de rechtermuisknop in de hiërarchie links om een ​​nieuw leeg object te maken en sleep het vervolgens net onder de speler in het scènevenster waar u de vloer wilt detecteren. Hernoem het object ‘Check Ground’ en maak er vervolgens een kind van de speler van, net zoals je met de camera deed. Nu moet het de speler volgen en de vloer eronder controleren zoals het doet.

Selecteer de speler opnieuw en sleep in de infovenster het nieuwe object Check Ground naar de ruimte waar ‘groundCheck’ staat. De ‘transformatie’ (positie) wordt nu gelijk aan de positie van het nieuwe object. Terwijl je hier bent, voer je 0,1 in waar het de straal aangeeft.

Ten slotte moeten we onze ‘grond’ laag definiëren. Om dit te doen, selecteert u het terrein dat u eerder hebt gemaakt en vervolgens rechtsboven in de infovenster, zoekt u waar 'Layer: Default' staat. Klik op deze vervolgkeuzelijst en kies ‘Laag toevoegen’.

Klik nu terug en selecteer deze keer ‘grond’ als de laag voor uw platform (herhaal dit voor alle andere platforms die u rondzweeft). Ten slotte, waar er ‘What is Ground’ op je speler staat, selecteer je ook de grondlaag.

Je vertelt je spelerscript nu om te controleren of het kleine punt op het scherm iets overlapt dat overeenkomt met die laag. Dankzij die regel die we eerder hebben toegevoegd, springt het personage nu alleen wanneer dat het geval is.

En daarmee, als je op spelen drukt, kun je genieten van een vrij basisspel waarbij je op het juiste moment moet klikken om te springen.

Daarmee kun je, als je op spelen drukt, genieten van een vrij basisspel waarbij je op het juiste moment moet klikken om te springen. Als je je Unity goed hebt ingesteld met de Android SDK, zou je dit moeten kunnen bouwen en uitvoeren en vervolgens op je smartphone kunnen spelen door op het scherm te tikken om te springen.

De weg voor ons

Natuurlijk is er nog veel meer toe te voegen om dit een volledige game te maken. De speler moet kunnen sterven en respawnen. We willen extra niveaus en meer toevoegen.

Mijn doel hier was om je te laten zien hoe snel je iets eenvoudigs aan de gang kunt krijgen. Door deze instructies te volgen, had je in een mum van tijd je oneindige hardloper moeten kunnen bouwen door Unity het harde werk, zoals natuurkunde, te laten doen.

Als je weet wat je wilt bouwen en je onderzoek wilt doen, hoef je geen codeerwizard te zijn om een ​​fatsoenlijk spel te maken!

De Boe oundWear Companion draadloze draagbare luidpreker lot een uniek probleem op: je wilt naar muziek luiteren maar je wilt geen koptelefoon dragen. Je wilt ook niet dat de muziek uit je tereo blaat...

Update # 2, 8 februari 2019 (10:15 AM ET):We hoorden vanmorgen van AT&T over het hieronder bechreven locatiegegevenchandaal. AT&T zegt ook dat het alle aociatie met locatie-aggregatorervice be...

Verse Artikelen