Bygg ditt första grundläggande Android-spel på bara 7 minuter (med Unity)

Författare: Lewis Jackson
Skapelsedatum: 11 Maj 2021
Uppdatera Datum: 1 Juli 2024
Anonim
Bygg ditt första grundläggande Android-spel på bara 7 minuter (med Unity) - Nyheter
Bygg ditt första grundläggande Android-spel på bara 7 minuter (med Unity) - Nyheter

Innehåll


Att göra ett fullt fungerande spel för Android är mycket lättare än du kanske tror. Nyckeln till framgångsrik Android-utveckling - eller någon form av utveckling - är att veta vad du vill uppnå och hitta nödvändiga verktyg och färdigheter för att göra det. Ta vägen till minst motstånd och ha ett tydligt mål i åtanke.

När det gäller att skapa spel är det bästa verktyget enligt min mening Unity. Ja, du kan skapa ett spel i Android Studio, men om du inte har erfarenhet av Java och Android SDK kommer det att bli en uppåtgående kamp. Du måste förstå vad klasser gör. Du måste använda anpassade vyer. Du litar på några ytterligare bibliotek. Listan fortsätter.

Unity är ett mycket professionellt verktyg som driver de allra flesta av de mest sålda titlarna i Play Store.

Enhet å andra sidan gör det mesta av jobbet för dig. Detta är en spelmotor, vilket betyder att all fysik och många andra funktioner du kanske vill använda redan har tagits hand om. Det är en plattform som är designad för att vara väldigt nybörjarvänlig för hobbyister och indieutvecklare.


Samtidigt är Unity ett mycket professionellt verktyg som driver den stora majoriteten av de mest sålda titlarna i Play Store. Det finns inga begränsningar här och ingen god anledning att göra livet svårare för dig själv. Det är också gratis!

För att visa hur enkel spelutveckling med Unity är, kommer jag att visa dig hur du gör ditt första Android-spel på bara 7 minuter.

Nej - jag kommer inte förklara hur man gör det på 7 minuter. Jag ska gör det på 7 minuter. Om du följer med också kommer du att kunna göra exakt samma sak!

varning: Innan vi kommer igång vill jag bara påpeka att jag lurar något. Medan processen för att skapa spelet kommer att ta sju minuter förutsätter det att du redan har installerat Unity och fått allt inställt. Men jag lämnar dig inte hänga: du kan hitta en fullständig handledning om hur du gör det kl.


Lägga till sprites och fysik

Börja med att dubbelklicka på Unity för att starta den. Till och med den längsta resan börjar med ett enda steg.

Skapa nu ett nytt projekt och se till att du väljer "2D". När du är in kommer du att hälsas med några olika fönster. Dessa gör saker. Vi har inte tid att förklara, så följ bara mina anvisningar så tar du upp det när vi går.

Det första du vill göra är att skapa en sprite för att vara din karaktär. Det enklaste sättet att göra det är att rita en fyrkant. Vi kommer att ge det ett par ögon. Om du fortfarande vill bli ännu snabbare kan du bara ta en sprite du gillar någonstans.

Spara den här spriten och dra och släpp den bara i din "scen" genom att placera den i det största fönstret. Du kommer att märka att det också dyker upp till vänster i 'hierarkin'.

Nu vill vi skapa några plattformar. Återigen kommer vi att nöja oss med en enkel fyrkant och vi kan ändra storleken på denna frihand för att skapa väggar, plattformar och vad har du.

Där går vi, vackert. Släpp det på samma sätt som du just gjorde.

Vi har redan något som ser ut som ett "spel". Klicka på play och du ska se en statisk scen för tillfället.

Vi kan ändra det genom att klicka på vår spelaresprite och titta åt höger till fönstret som kallas 'inspektören'. Det är här vi ändrar egenskaper för våra GameObjects.

Välj 'Lägg till komponent' och välj sedan 'Fysik 2D> RigidBody2D'. Du har precis lagt till fysik till din spelare! Detta skulle vara oerhört svårt för oss att göra på egen hand och framhäver verkligen användbarheten av enhet.

Vi vill också fixa vår orientering för att förhindra att karaktären snurrar och rullar runt. Hitta "begränsningar" i inspektören med den valda spelaren och kryssa i rutan för att frysa rotationen Z. Klicka nu på Spela igen så borde du hitta din spelare nu faller från himlen till hans oändliga undergång.

Ta en stund för att reflektera över hur enkelt detta var: helt enkelt genom att använda detta skript som heter 'RigidBody2D' har vi fullt fungerande fysik. Om vi ​​använde samma skript på en rund form skulle det också rulla och till och med studsa. Föreställ dig att du själv kodar och hur involverad det skulle vara!

För att hindra vår karaktär att falla genom golvet måste du lägga till en collider. Detta är i grund och botten en solid kontur av en form. För att tillämpa det, välj din spelare, klicka på 'Lägg till komponent' och välj den här gången 'Fysik 2D> BoxCollider2D'.

Ta en stund för att reflektera över hur enkelt detta var: helt enkelt genom att använda detta skript som heter 'RigidBody2D' har vi fullt fungerande fysik.

Gör exakt samma sak med plattformen, klicka på play och sedan ska din karaktär släppa ner på fast mark. Lätt!

En sak till: att se till att kameran följer vår spelare oavsett om de faller eller rör sig, vi vill dra kameraobjektet som finns i scenen (detta skapades när du startade det nya projektet) ovanpå spelaren. Nu i hierarkin (listan över GameObjects till vänster) ska du dra kameran så att den är indragad under spelaren. Kameran är nu ett "barn" till spelarens GameObject, vilket innebär att när spelaren rör sig, så kommer kameran också att göra det.

Ditt första manus

Vi kommer att göra en grundläggande oändlig löpare och det betyder att vår karaktär bör röra sig tvärs över skärmen tills de träffar ett hinder. För det behöver vi ett manus. Så högerklicka i mappen Tillgångar längst ner och skapa en ny mapp som heter 'Skript'. Högerklicka nu igen och välj "Skapa> C # skript". Kalla det "PlayerControls".

För det mesta kommer skripten vi skapar att definiera specifikt beteende för våra GameObjects.

Dubbelklicka nu på ditt nya skript och det öppnas i Visual Studio om du ställer in allt korrekt.

Det finns redan någon kod här, som är 'pannplåtkod'. Det betyder att det är kod som du kommer att behöva använda i nästan alla skript, så att den är färdigbyggd för att du sparar tid. Nu lägger vi till ett nytt objekt med den här raden ovan ogiltigt Start ():

public Rigidbody2D rb;

Placera sedan denna nästa rad med kod i metoden Start () för att hitta den styva kroppen. Detta berättar i princip för Unity att lokalisera den fysik som är kopplad till GameObject som detta skript kommer att associeras med (vår spelare naturligtvis). Start () är en metod som körs så snart ett nytt objekt eller skript skapas. Hitta fysikobjektet:

rb = GetComponent();

Lägg till den här uppdateringen ():

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

Uppdatering () uppdateras upprepade gånger och så kommer alla kod här inne att köras om och om igen tills objektet förstörs. Allt detta säger att vi vill att vår stelhet ska ha en ny vektor med samma hastighet på y-axeln (rb.velocity.y) men med hastigheten "3" på den horisontella axeln. När du fortskrider kommer du förmodligen att använda "FixedUpdate ()" i framtiden.

Spara det och gå tillbaka till Unity. Klicka på ditt spelartecken och välj sedan Lägg till komponent> Skript i inspektören och sedan ditt nya skript. Klicka på play och boom! Din karaktär bör nu röra sig mot kanten av avsatsen som en lemming.

Obs! Om något av detta låter förvirrande, titta bara på videon för att se allt görs - det hjälper!

Mycket grundläggande spelinmatning

Om vi ​​vill lägga till en hoppfunktion kan vi göra detta mycket enkelt med bara en extra bit kod:

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

Detta går in i uppdateringsmetoden och det står att "om spelaren klickar" lägg till hastighet på y-axeln (med värdet 5). När vi använder if, används allt som följer inom parentes som ett slags sant eller falskt test. Om logiken inuti nämnda parenteser är sant, kommer koden i följande lockiga parenteser att köras. I detta fall, om spelaren klickar på musen, läggs hastigheten till.

Android läser vänster musklick som knackar var som helst på skärmen! Så nu har ditt spel grundläggande tryckkontroller.

Hitta din fot

Detta räcker i princip för att få en Flappy Birds-klon. Kasta in några hinder och lära sig att förstöra spelaren när den rör vid dem. Lägg till en poäng ovanpå det.

Om du får det här kommer ingen utmaning att bli för stor i framtiden

Men vi har lite mer tid så vi kan bli mer ambitiösa och göra ett oändligt spel av löpartyp istället. Det enda som är fel med det vi har just nu är att knacka på hopp kommer att hoppa även om spelaren inte rör vid golvet, så det kan i princip flyga.

Att avhjälpa detta blir lite mer komplicerat men det är ungefär lika hårt som Unity blir. Om du får det här kommer ingen utmaning att bli för stor i framtiden.

Lägg till följande kod i ditt skript ovanför metoden Update ():

public Transform GroundCheck; public Transform startPosition; public float groundCheckRadius; public LayerMask whatIsGround; privat bool onGround;

Lägg till den här raden i uppdateringsmetoden ovanför if-uttalandet:

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

Ändra slutligen följande rad så att den inkluderar && onGround:

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

Hela saken ska se ut så här:

public class PlayerControls: MonoBehaviour {public Rigidbody2D rb; public Transform GroundCheck; public Transform startPosition; public float groundCheckRadius; public LayerMask whatIsGround; privat 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); }}}

Vad vi gör här är att skapa en ny transform - en position i rymden - då ställer vi in ​​dess radie och frågar om det överlappar ett lager som kallas mark. Vi ändrar sedan värdet på Boolean (vilket kan vara sant eller falskt) beroende på om så inte är fallet.

Så, onGround är sant om den transform som kallas groundCheck överlappar lagerskiktet.

Om du klickar på spara och sedan går tillbaka till Unity bör du nu se att du har fler alternativ tillgängliga i din inspektör när du väljer spelaren. Dessa offentliga variabler kan ses inifrån Unity själv och det betyder att vi kan ställa in dem hur vi vill.

Högerklicka i hierarkin till vänster för att skapa ett nytt tomt objekt och dra det så att det bara ligger under spelaren i scenfönstret där du vill upptäcka golvet. Byt namn på objektet "Kontrollera marken" och gör det till ett barn till spelaren precis som du gjorde med kameran. Nu ska det följa spelaren och kontrollera golvet under det som det gör.

Välj spelaren igen och dra i inspektören det nya Check Ground-objektet till utrymmet där det står "groundCheck". "Transform" (position) kommer nu att vara lika med positionen för det nya objektet. När du är här, ange 0,1 där det står radie.

Slutligen måste vi definiera vårt "mark" -lager. För att göra detta väljer du terrängen du skapade tidigare och sedan uppe till höger i inspektören och letar där det står "Layer: Standard". Klicka på den här listrutan och välj 'Lägg till lager'.

Klicka nu tillbaka och välj den här gången "mark" som lager för din plattform (upprepa detta för alla andra plattformar du har svävat runt). Slutligen, där det står "What is Ground" på din spelare, välj också marklagret.

Nu ber du ditt spelarskript att kontrollera om den lilla punkten på skärmen överlappar något som matchar det lagret. Tack vare den rad vi lagt till tidigare kommer nu karaktären bara att hoppa när det är fallet.

Och med det, om du träffar spel, kan du njuta av ett ganska grundläggande spel som kräver att du klickar för att hoppa vid rätt tidpunkt.

Med det, om du träffar spel kan du njuta av ett ganska grundläggande spel som kräver att du klickar för att hoppa vid rätt tidpunkt. Om du ställer in din enhet ordentligt med Android SDK, bör du kunna bygga och köra detta och sedan spela på din smartphone genom att knacka på skärmen för att hoppa.

Vägen framför

Naturligtvis finns det mycket mer att lägga till för att göra detta till ett fullständigt spel. Spelaren borde kunna dö och svänga. Vi vill lägga till extra nivåer och mer.

Mitt mål här var att visa hur snabbt du kan få något grundläggande igång. Genom att följa dessa instruktioner skulle du ha kunnat bygga din oändliga löpare på nolltid helt enkelt genom att låta Unity hantera de hårda sakerna, som fysik.

Om du vet vad du vill bygga och göra din forskning behöver du inte vara en kodguide för att skapa ett anständigt spel!

LG G8 är en av de mer underkattade flaggkeppmartphone från 2019. Under vår tid med att använda den älkade vi den långa batteritiden, den fantatika OLED-kärmen och al...

Nya pregivare av LG G8 ThinQ läckte jut ut.Preavgivarna viar en enhet om mycket liknar de tidigare läckta bilderna från CAD-renderingar.Om dea återgivningar är legitima kommer...

Populär