Bygg ditt første grunnleggende Android-spill på bare 7 minutter (med Unity)

Forfatter: Lewis Jackson
Opprettelsesdato: 11 Kan 2021
Oppdater Dato: 1 Juli 2024
Anonim
Bygg ditt første grunnleggende Android-spill på bare 7 minutter (med Unity) - Nyheter
Bygg ditt første grunnleggende Android-spill på bare 7 minutter (med Unity) - Nyheter

Innhold


Å lage et fullt fungerende spill for Android er mye enklere enn du kanskje tror. Nøkkelen til vellykket Android-utvikling - eller noen form for utvikling - er å vite hva du vil oppnå og finne de nødvendige verktøyene og ferdighetene for å gjøre det. Ta veien til minst motstand og ha et klart mål i tankene.

Når det gjelder å lage spill, er det beste verktøyet etter min mening Unity. Ja, du kan lage et spill i Android Studio, men med mindre du har erfaring med Java og Android SDK, vil det være en oppoverbakke kamp. Du må forstå hva klasser gjør. Du må bruke tilpassede visninger. Du vil stole på noen ekstra biblioteker. Listen fortsetter.

Unity er et meget profesjonelt verktøy som styrker de aller fleste av de mestselgende titlene i Play Store.

Enighet derimot gjør det meste av arbeidet for deg. Dette er en spillmotor, noe som betyr at all fysikken og mange av de andre funksjonene du kanskje vil bruke, allerede er tatt vare på. Det er plattform og er designet for å være veldig nybegynnervennlig for amatører og indieutviklere.


Samtidig er Unity et meget profesjonelt verktøy som styrker de aller fleste av de mest solgte titlene i Play Store. Det er ingen begrensninger her og ingen god grunn til å gjøre livet vanskeligere for deg selv. Det er gratis også!

For å demonstrere hvor enkel spillutvikling med Unity er, skal jeg vise deg hvordan du lager ditt første Android-spill på bare 7 minutter.

Nei - det har jeg ikke tenkt forklare hvordan du gjør det på 7 minutter. Jeg skal gjør det om 7 minutter. Hvis du følger med også, vil du kunne gjøre nøyaktig det samme!

Ansvarsfraskrivelse: før vi kommer i gang, vil jeg bare påpeke at jeg er litt utro. Mens prosessen med å lage spillet vil ta sju minutter, antar det at du allerede har installert Unity og fått alt satt opp. Men jeg lar deg ikke henge: du kan finne en fullstendig opplæring om hvordan du gjør det på kl.


Legge til sprites og fysikk

Start med å dobbeltklikke på Unity for å starte den. Selv den lengste reisen starter med et enkelt skritt.

Nå lager et nytt prosjekt og sørg for at du velger ‘2D’. Når du er innom, vil du bli møtt med noen få forskjellige vinduer. Disse gjør ting. Vi har ikke tid til å forklare, så bare følg instruksjonene mine, så tar du den opp mens vi går.

Det første du vil gjøre er å lage en sprite for å være din karakter. Den enkleste måten å gjøre det på er å tegne en firkant. Vi kommer til å gi det et par øyne. Hvis du vil være enda raskere, kan du bare ta en sprite du liker fra et sted.

Lagre denne spriten, og bare dra og slipp den inn i din 'scene' ved å plassere den i det største vinduet. Du vil merke at det også dukker opp til venstre i 'hierarkiet'.

Nå vil vi lage noen plattformer. Igjen, vi kommer til å nøye oss med et enkelt torg, og vi kan endre størrelsen på denne frihånden for å lage vegger, plattformer og hva har du.

Der går vi, vakker. Slipp det på samme måte som du nettopp gjorde.

Vi har allerede noe som ser ut som et ‘spill’. Klikk på play, så skal du se en statisk scene for nå.

Vi kan endre det ved å klikke på spillerens sprite og se over til høyre til vinduet kalt ‘inspektøren’. Det er her vi endrer egenskaper for GameObjects.

Velg ‘Legg til komponent’ og velg deretter ‘Fysikk 2D> RigidBody2D’. Du har nettopp lagt fysikk til spilleren din! Dette ville være utrolig vanskelig for oss å gjøre på egen hånd og fremhever virkelig nytten av Unity.

Vi ønsker også å fikse orienteringen vår for å forhindre at karakteren snurrer og frirer seg rundt. Finn ‘begrensninger’ i inspektøren med spilleren valgt, og merk av i ruten for å fryse rotasjon Z. Klikk nå på play igjen, og du bør finne at spilleren nå faller fra himmelen til hans uendelige undergang.

Ta deg tid til å reflektere over hvor enkelt dette var: ganske enkelt ved å bruke dette skriptet kalt ‘RigidBody2D’ har vi fullt funksjonell fysikk. Hvis vi bruker det samme skriptet på en rund form, ville det også rulle og sprette. Se for deg å kode deg selv og hvor involvert det ville være!

For å forhindre at karakteren vår faller gjennom gulvet, må du legge til en kollider. Dette er i utgangspunktet den faste konturen av en form. For å bruke det, velg spilleren din, klikk på 'Legg til komponent' og velg denne gangen 'Fysikk 2D> BoxCollider2D'.

Ta deg tid til å reflektere over hvor enkelt dette var: ganske enkelt ved å bruke dette skriptet kalt ‘RigidBody2D’ har vi fullt funksjonell fysikk.

Gjør nøyaktig det samme med plattformen, klikk på play, og så skal karakteren din falle ned på fast grunn. Lett!

En ting til: å sørge for at kameraet følger spilleren vår om de faller eller beveger seg, vi ønsker å dra kameraobjektet som er i scenen (dette ble opprettet da du startet det nye prosjektet) på toppen av spilleren. Nå i hierarkiet (listen over GameObjects til venstre) skal du dra kameraet slik at det blir innrykket under spilleren. Kameraet er nå et "barn" til Player GameObject, noe som betyr at når spilleren beveger seg, så vil også kameraet gjøre det.

Det første manuset ditt

Vi kommer til å lage en grunnleggende uendelig løper, og det betyr at karakteren vår skal bevege seg rett over skjermen til de treffer en hindring. Til det trenger vi et manus. Så høyreklikk i Assets-mappen nede i bunnen og lag en ny mappe kalt ‘Scripts’. Nå høyreklikk igjen og velg ‘Create> C # Script’. Kall det ‘PlayerControls’.

For det meste vil skriptene vi oppretter definere spesifikk atferd for våre GameObjects.

Dobbeltklikk nå på det nye skriptet ditt, så åpnes det i Visual Studio hvis du konfigurerer alt riktig.

Det er allerede noen kode her, som er ‘kjeleplatkode’. Det betyr at det er koden du trenger å bruke i nesten hvert skript, så det er ferdig befolket for deg å spare tid. Nå legger vi til et nytt objekt med denne linjen over tomt Start ():

offentlig Rigidbody2D rb;

Plasser deretter denne neste kodelinjen i Start () -metoden for å finne stivkroppen. Dette forteller i utgangspunktet Unity å finne fysikken knyttet til GameObject som dette skriptet vil bli assosiert med (vår spiller selvfølgelig). Start () er en metode som kjøres så snart et nytt objekt eller skript er opprettet. Finn fysikkobjektet:

rb = GetComponent();

Legg til denne oppdateringen ():

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

Oppdatering () oppdateres gjentatte ganger, slik at alle koder her vil løpe om og om igjen til objektet blir ødelagt. Alt dette sier at vi ønsker at den stive kroppen vår skal ha en ny vektor med samme hastighet på y-aksen (rb.velocity.y), men med hastigheten ‘3’ på den horisontale aksen. Når du går fremover, vil du sannsynligvis bruke 'FixedUpdate ()' i fremtiden.

Lagre det og gå tilbake til Unity. Klikk på spillerkarakteren din, og velg deretter Legg til komponent> Skript og deretter det nye skriptet i inspektøren. Klikk på play, og boom! Karakteren din skal nå bevege seg mot kanten av avsatsen som en lemming.

Merk: Hvis noe av dette høres forvirrende ut, er det bare å se videoen for å se alt blir gjort - det hjelper!

Veldig grunnleggende spillerinnspill

Hvis vi vil legge til en hoppfunksjon, kan vi gjøre dette veldig enkelt med bare en ekstra bit kode:

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

Dette går inn i oppdateringsmetoden og det står at ‘hvis spilleren klikker’, så legg hastighet på y-aksen (med verdien 5). Når vi bruker if, brukes noe som følger inne i parentesene som en slags sann eller falsk test. Hvis logikken i nevnte parenteser er sann, vil koden i de følgende krøllete parentesene kjøres. I dette tilfellet, hvis spilleren klikker på musen, legges hastigheten til.

Android leser venstre museklikk som å trykke hvor som helst på skjermen! Så nå har spillet ditt grunnleggende trykknappkontroller.

Finne fotfoten

Dette er i utgangspunktet nok til å gjøre en Flappy Birds-klone. Kast inn noen hindringer og lær hvordan du ødelegger spilleren når den berører dem. Legg til en score på toppen av det.

Hvis du får dette ned, vil ingen utfordringer bli for store i fremtiden

Men vi har litt mer tid slik at vi kan bli mer ambisiøse og lage et uendelig løpertype-spill i stedet. Det eneste som er galt med det vi har for øyeblikket, er at det å hoppe vil hoppe, selv når spilleren ikke berører gulvet, slik at det i hovedsak kan fly.

Å avhjelpe dette blir litt mer sammensatt, men dette er omtrent så vanskelig som Unity blir. Hvis du får dette ned, vil ingen utfordringer bli for store i fremtiden.

Legg til følgende kode i skriptet ditt over metoden Oppdater ():

offentlig Transform GroundCheck; offentlig Transform startPosisjon; offentlig flytebunnCheckRadius; public LayerMask whatIsGround; privat bool onGround;

Legg til denne linjen i Oppdateringsmetoden over if-setningen:

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

Endelig, endre følgende linje slik at den inkluderer && onGround:

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

Hele tingen skal se slik ut:

offentlig klasse PlayerControls: MonoBehaviour {public Rigidbody2D rb; offentlig Transform GroundCheck; offentlig Transform startPosisjon; offentlig flytebunnCheckRadius; public LayerMask whatIsGround; privat bool onGround; void Start () {rb = GetComponent(); } ugyldig oppdatering () {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); }}}

Det vi gjør her er å skape en ny transformasjon - en plassering i rommet - så setter vi radius og spør om det overlapper et lag som heter bakken. Vi endrer deretter verdien på Boolean (som kan være sant eller usant) avhengig av om det er tilfelle eller ikke.

Så, onGround er sant hvis transformasjonen som kalles groundCheck overlapper laggrunnen.

Hvis du klikker på Lagre og deretter går tilbake til Unity, skal du nå se at du har flere alternativer tilgjengelig på inspektøren din når du velger spilleren. Disse offentlige variablene kan sees fra selve enheten og det betyr at vi kan stille dem slik vi vil.

Høyreklikk i hierarkiet over til venstre for å lage et nytt tomt objekt og dra det så det er rett under spilleren i Scene-vinduet der du vil oppdage gulvet. Gi nytt navn til objektet 'Kontroller bakken', og gjør det til et barn av spilleren akkurat som du gjorde med kameraet. Nå skal den følge spilleren, sjekke gulvet under som den gjør.

Velg spilleren igjen, og dra inspektøren det nye Check Ground-objektet inn i rommet der det står ‘groundCheck’. Nå vil ‘transformen’ (posisjon) bli lik posisjonen til det nye objektet. Mens du er her, skriv inn 0,1 der det står radius.

Til slutt må vi definere ‘bakken’ laget vårt. For å gjøre dette, velg terrenget du opprettet tidligere, så oppe til høyre i inspektøren, finn der det står ‘Lag: Standard’. Klikk på denne nedtrekksboksen og velg 'Legg til lag'.

Nå klikker du tilbake og denne gangen velger du "bakken" som laget for plattformen din (gjenta dette for alle andre plattformer du har flyter rundt). Til slutt, der det står "Hva er bakken" på spilleren din, velg også jordlaget.

Du ber nå spillerskriptet ditt om å sjekke om det lille punktet på skjermen overlapper noe som samsvarer med det laget. Takket være den linjen vi la til tidligere, vil karakteren nå bare hoppe når det er tilfelle.

Og med det, hvis du treffer play, kan du glede deg over et ganske grunnleggende spill som krever at du klikker for å hoppe til rett tid.

Med det, hvis du treffer play, kan du glede deg over et ganske grunnleggende spill som krever at du klikker for å hoppe til rett tid. Hvis du setter opp enheten din ordentlig med Android SDK, bør du kunne bygge og kjøre dette og deretter spille på smarttelefonen ved å trykke på skjermen for å hoppe.

Veien fremover

Det er klart det er mye mer å legge til for å gjøre dette til et fullstendig spill. Spilleren skal være i stand til å dø og respawn. Vi ønsker å legge til ekstra nivåer og mer.

Målet mitt her var å vise deg hvor raskt du kan få noe grunnleggende. Etter å ha fulgt disse instruksjonene, burde du ha kunnet bygge din uendelige løper på kort tid bare ved å la Unity håndtere de harde tingene, som fysikk.

Hvis du vet hva du vil bygge og gjøre undersøkelser, trenger du ikke å være en kodeveiviser for å lage et anstendig spill!

Pixel 4 innhold blir brakt til deg av MNML Cae, produenter av verden tynnete telefonak. par 25% på Pixel 4 eller Pixel 4 XL veke ved å bruke rabattkoden AAPixel4....

Pixel 4 innhold blir brakt til deg av MNML Cae, produenter av verden tynnete telefonak. par 25% på Pixel 4 eller Pixel 4 XL veke ved å bruke rabattkoden AAPixel4....

Populær På Portalen