Opprett et 2D plattformspill med Unity og Dolby Audio API

Create et 2D plattformspill med Unity og Dolby Audio API
72
Del
20
Del

Dette Cyber ​​mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.
Sponset Innhold

Dette sponset post har et produkt som er relevant for våre lesere mens møte våre redaksjonelle retningslinjer for å være objektiv og pedagogisk.
Hva du skal lage
Innledning

I denne opplæringen vil du lære hvordan du kan lage en mobil 2D spill ved hjelp av C # og Unity. Vi kommer til å dra nytte av Dolby Audio Plugin for Unity for å forbedre spillets audial opplevelse. Målet med spillet er enkel, å nå den andre siden av nivået mens unngå fiender og samle mynter

I denne opplæringen vil du lære følgende aspekter av Unity spillutvikling.
< li> sette opp et 2D-prosjekt i Unity

skape prefabs

bevegelse og handling knapper

arbeide med fysikk kollisjoner

bruke en sprite ark

integrere Dolby Audio API



1. Opprett et nytt Unity Prosjekt

Åpne Unity og velg Nytt prosjekt
fra Fil
menyen for å åpne den nye dialogen prosjektet. Fortell Unity hvor du vil lagre prosjektet og sette
Sett opp standardverdier for:.
Rullegardinmenyen til 2D



2. Bygg Innstillinger

I neste trinn, du presentert med Unity brukergrensesnitt. Sette prosjektet opp for mobil utvikling ved å velge Bygg Settings
fra Fil
meny og velg Android
som målet plattformen.



3. Enheter

Siden vi er i ferd med å skape et 2D spill, det første vi må gjøre etter å ha valgt målet plattformen er å velge størrelsen på kunstverk som vi skal bruke i spillet. Fordi Android er en åpen plattform, det er et bredt spekter av enheter, skjermoppløsninger, og pikseltetthet tilgjengelig på dagens marked. Noen av de mer vanlige de er:

Samsung Galaxy SIII: 720px x 1280px, 306 ppi

Asus Nexus 7 Tablet: 800px x 1280px, 216 ppi

Motorola Droid X: 854px x 480px, 228 ppi

Selv om vi skal fokusere på Android-plattformen i denne opplæringen, kan du bruke den samme koden for å målrette noen av de andre plattformer som Unity støtter.



4. Eksport Graphics

Avhengig av hvilke enheter du målretter, kan det hende du må konvertere skisser for spillet til anbefalt størrelse og pikseltetthet. Du kan gjøre dette i din favoritt bilde editor. Jeg har brukt den Juster størrelse ...
funksjon under Verktøy
menyen i OS X Forhåndsvisning
søknad.



5. Unity User Interface

Før vi kommer i gang, sørg for å klikke på 2D
knappen i Scene
panel. Du kan også endre oppløsningen som blir vist i Spill
panel.



6. Spill Interface

Grensesnittet i spillet vårt vil være grei. Skjermbildet over gir deg en idé av kunstverket vi skal bruke, og hvordan det endelige spillet grensesnittet vil ende opp som ser. Du kan finne skisser for denne opplæringen i kildefilene for denne opplæringen.



7. Programming Language

Du kan bruke en av tre programmeringsspråk når du bruker Unity, C #, UnityScript, en variant av Javascript, og Boo. Hver av disse programmeringsspråk har sine fordeler og ulemper, og det er opp til deg å bestemme hvilken du foretrekker. Min personlige preferanse går til programmeringsspråket C #, så det er det språket jeg skal bruke i denne opplæringen.

Hvis du velger å bruke et annet programmeringsspråk, sørg for å ta en titt på Unity sin Script Reference for eksempler.



8. 2D Graphics

Unity har bygget et navn for å være en god plattform for å lage 3D-spill for ulike plattformer, for eksempel Microsofts Xbox 360, Sonys PS3, Nintendo Wii, web, og ulike mobile plattformer.
< p> Selv om det har alltid vært mulig å bruke Unity for 2D spillutvikling, det var ikke før utgivelsen av Unity 4.3 at det følger med mors 2D støtte. Vi skal lære å arbeide med bilder som sprites i stedet for teksturer i de neste trinnene.



9. Lydeffekter

Jeg skal bruke en rekke lyder for å skape en god audial opplevelse for spillet. Lydeffektene er brukt i denne opplæringen ble hentet fra as3sfxr og PlayOnLoop.



10. Import Eiendeler

Før vi begynner koding, må vi legge våre eiendeler til Unity prosjektet. Du kan gjøre dette én av flere måter:

Velg Import New Asset
fra Eiendeler
menyen

legge til elementene til eiendelene mappe i prosjektet

dra og slippe eiendelene i prosjektvinduet

Etter å ha fullført dette trinnet, bør du se verdiene i prosjektet ditt mappe Eiendeler
i Prosjekt
panel.

11. Opprett Scene

Vi er klar til å lage scene av spillet vårt ved å dra objekter til Hierarki
eller Scene
panel.



12. Bakgrunn

Start ved å dra og slippe bakgrunnen inn i Hierarki
panel. Det vises automatisk i Scene
panel.

Fordi Scene
panel er satt til å vise et 2D-visning, vil du legge merke til at du velger Hoved Kamera
i Hierarki
viser en forhåndsvisning av hva kameraet kommer til å vise. Du kan også se dette i Spillanmeldelser visning. For å gjøre det hele scenen synlig, endre Størrelse
verdien av Hovedkamera
til 1,58
i Inspector
panel.
< hr>
13. Etasje

Gulvet blir brukt til å holde våre hovedpersonen fra å falle når vi har lagt fysikk til spillet. Dra den fra Eiendeler
mappe og plassere det i scenen som vist nedenfor.



14. Floor Collider

For å gjøre gulvet oppdage når karakteren berører det, må vi legge til en komponent, en Box Collider 2D
å være presis.

Velg gulvet i scenen, åpner Inspector
panelet, og klikk Legg til Component
. Fra listen over komponenter, velger du Box Collider 2D
fra Fysikk 2D
delen.

15. Gå Button

Vi vil bruke knappene til å kontrollere vår hovedpersonen i spillet. Dra og plassere hoppe knappen i Scene Hotell og legge en Circle Collider2D
komponent som vist i forrige trinn.



16. Jump Sound

Hvis du vil spille av en lyd når karakteren hopper, trenger vi først å feste den til hopp-knappen. Velg det fra Hierarki
eller Scene
visning, klikker du på Legg til Component
knappen i Inspector
panelet, og velg Audio Source
i Audio
delen.

kryssene Spill på Awake Hotell og klikk den lille prikken på høyre side, under tannhjulikonet, for å velge den lyden vi ønsker å spille når spilleren kraner på knappen. I neste trinn, vil vi implementere logikk for å spille av lyden når spilleren kraner på knappen.



17. Gå Script

La oss lage skript som vil styre vår karakter. Velg hoppeknappen, og klikk på Legg til Component
knappen i Inspector
panel. Velg New Script Anmeldelser og gi den navnet
. Ikke glem å endre språket til C #

Åpne den nyopprettede filen og legge inn følgende kode
hjelp UnityEngine, bruker System.Collections; public class Hopp:.. MonoBehaviour {public float jumpForce; private GameObject helten; //brukes til å referere til vår karakter (helten) på scenen //Bruk denne for initialisering void Start () {hero = GameObject.Find ("Hero"); //blir helten spillet objektet} //Update kalles en gang per ramme void Update () {/* Sjekk om bruker berører knappen på enheten * /if (Application.platform == RuntimePlatform.Android) {if ( Input.touchCount > 0) {if (Input.GetTouch (0) .phase == TouchPhase.Began) {CheckTouch (Input.GetTouch (0) .position, "begynte"); //Funksjon som er opprettet under} else if (Input.GetTouch (0) .phase == TouchPhase.Ended) {CheckTouch (Input.GetTouch (0) .position, "avsluttet"); }}} /* Sjekk om bruker berører knappen på Editor, endre OSXEditor verdi hvis du er på Windows * /if (Application.platform == RuntimePlatform.OSXEditor) {if (Input.GetMouseButtonDown (0)) {CheckTouch (Input.mousePosition, "begynte"); } If (Input.GetMouseButtonUp (0)) {CheckTouch (Input.mousePosition, "avsluttet"); }}} Void CheckTouch (Vector3 pos, string fase) {/* Få skjermen punktet hvor brukeren er rørende * /Vector3 wp = Camera.main.ScreenToWorldPoint (pos); Vektor2 touchPos = new Vektor2 (wp.x, wp.y); Collider2D hit = Physics2D.OverlapPoint (touchPos); /* Hvis knappen trykkes ... * /if (hit.gameObject.name == "JumpButton" & & hit & & fase == "begynte") {hero.rigidbody2D.AddForce (ny Vektor2 (0f , jumpForce)); //Legg hopp kraft til helten audio.Play (); //Spille av lyd knyttet til dette spillet objekt (hopp lyd)}}}

Kodebiten kan virke skremmende, men det er faktisk ganske grei. Vi først få en henvisning til helten objekt, en forekomst av GameObject klasse, så vi kan bruke det senere. Vi deretter oppdage hvis brukeren berører hoppe knappen, og hvis de er, legger en kraft til helten objektet. Sist men ikke minst, vi spiller hoppe lyd når hoppeknappen er avlyttet.

18. Bevegelse Knapper

Trinnene å legge og gjennomføre bevegelses knapper, venstre og høyre, er svært like. Start med å plassere knappene i scenen og legge til en Circle Collider 2D
til hver knapp som vi gjorde med hopp-knappen.




19 . Bevegelse Scripts

Lag et nytt manus, fester den til venstre knapp, og gi den navnet MoveLeft
. Erstatte innholdet med følgende kodebiten, som inneholder MoveLeft metoden
hjelp UnityEngine, bruker System.Collections; public class MoveLeft. MonoBehaviour {public Vector3 moveSpeed ​​= new Vector3 (); privat bool flytting = false; privat GameObject [] scene; //utvalg av spill objekter som er i samsvar scenen private GameObject bg; //Bruk denne for initialisering void Start () {scene = GameObject.FindGameObjectsWithTag ("Moveable"); //Spill objekter med Move tag bg = GameObject.Find ("Bakgrunn"); //Spill Bakgrunn} //Update kalles en gang per ramme void Update () {/* Detect berøring * /if (Application.platform == RuntimePlatform.Android) {if (Input.touchCount > 0) {if (Input. GetTouch (0) .phase == TouchPhase.Began) {CheckTouch (Input.GetTouch (0) .position, "begynte"); } Else if (Input.GetTouch (0) .phase == TouchPhase.Ended) {CheckTouch (Input.GetTouch (0) .position, "avsluttet"); }}} If (Application.platform == RuntimePlatform.OSXEditor) {if (Input.GetMouseButtonDown (0)) {CheckTouch (Input.mousePosition, "begynte"); } If (Input.GetMouseButtonUp (0)) {CheckTouch (Input.mousePosition, "avsluttet"); }} //Flytt hvis knappen trykkes if (flytting & & bg.transform.position.x < 4.82f) {for (int i = 0; i < scene.Length; i ++) {if (scene [ ,,,0],i] = null) {scene [i] .transform.position + = moveSpeed!; }}}} Void CheckTouch (Vector3 pos, string fase) {Vector3 wp = Camera.main.ScreenToWorldPoint (pos); Vektor2 touchPos = new Vektor2 (wp.x, wp.y); Collider2D hit = Physics2D.OverlapPoint (touchPos); if (hit.gameObject.name == "LeftButton" & & hit & & fase == "begynte") {flytte = true; } If (hit.gameObject.name == "LeftButton" & & hit & & fase == "endte") {flytte = false; }}}

I dette skriptet, skaper vi en rekke elementer som er merket som Move-vi tag dem senere i denne opplæringen å gjøre det enklere å flytte dem alle på en gang. Å flytte elementene, vi først sjekke om knappen blir rørt og endre posisjon ved hjelp moveSpeed ​​i Update-funksjonen. Det er så enkelt som det.

Opprett en annen script, koble den til høyre knapp, og gi den navnet MoveRight
. Dette skriptet inneholder MoveRight metoden og gjennomføringen er lik som den MoveLeft metoden vi så et øyeblikk siden. Vi endre retningen av bevegelsen ved å erstatte + = moveSpeed ​​med - = moveSpeed. Dette vil flytte scenen i motsatt retning

MoveRight
script, sjekker vi også hvis spilleren har fullført nivå
hjelp UnityEngine;.. Hjelp System.Collections; offentlig klasse MoveRight: MonoBehaviour {public Vector3 moveSpeed ​​= new Vector3 (); privat bool flytting = false; privat GameObject [] scene; private GameObject bg; offentlig AudioClip completeSound; private GameObject [] knapper; private GameObject completeText; privat bool endte = false; offentlig Font goodDog; //Bruk denne for initialisering void Start () {scene = GameObject.FindGameObjectsWithTag ("Moveable"); bg = GameObject.Find ("Bakgrunn"); knapper = GameObject.FindGameObjectsWithTag ("knapper"); } //Update kalles en gang per ramme void Update () {if (Application.platform == RuntimePlatform.Android) {if (Input.touchCount > 0) {if (Input.GetTouch (0) .phase == TouchPhase. Begynte) {CheckTouch (Input.GetTouch (0) .position, "begynte"); } Else if (Input.GetTouch (0) .phase == TouchPhase.Ended) {CheckTouch (Input.GetTouch (0) .position, "avsluttet"); }}} If (Application.platform == RuntimePlatform.OSXEditor) {if (Input.GetMouseButtonDown (0)) {CheckTouch (Input.mousePosition, "begynte"); } If (Input.GetMouseButtonUp (0)) {CheckTouch (Input.mousePosition, "avsluttet"); }} //Flytt hvis knappen trykkes & & Scenen er ikke over hvis (flytting & & bg.transform.position.x > -4.8f) {for (int i = 0; i < scene.Length; i ++)! {if (scene [i] = null) {scene [i] .transform.position - = moveSpeed; }}} //Stage Fullført if (bg.transform.position.x < = -4.8f & & endte == false) {alert ("fullstendig"); }} Void CheckTouch (Vector3 pos, string fase) {Vector3 wp = Camera.main.ScreenToWorldPoint (pos); Vektor2 touchPos = new Vektor2 (wp.x, wp.y); Collider2D hit = Physics2D.OverlapPoint (touchPos); if (hit.gameObject.name == "RightButton" & & hit & & fase == "begynte") {flytte = true; } If (hit.gameObject.name == "RightButton" & & hit & & fase == "endte") {flytte = false; }} Public void Alert (string handling) {endte = true; completeText = new GameObject (); completeText.AddComponent ("GUIText"); completeText.guiText.font = goodDog; completeText.guiText.fontSize = 50; completeText.guiText.color = ny farge (255, 0, 0); if (handling == "komplett") {AudioSource.PlayClipAtPoint (completeSound, transform.position); completeText.guiText.text = "Level Complete!"; completeText.guiText.transform.position = new Vector3 (0.24f, 0.88f, 0); } Else {completeText.guiText.text = "Game Over"; completeText.guiText.transform.position = new Vector3 (0.36f, 0.88f, 0); .} Bg.GetComponent () Stop (); for (int i = 0; i < buttons.Length; i ++) {knappene [i] .renderer.enabled = false; Påkall ("restart", 2); }} Void start () {Application.LoadLevel (Application.loadedLevel); }}

Alert funksjonen lager og viser en melding til spilleren og spiller lyden festet til bakgrunnen sprite. For at dette skal fungere, legger den tilsvarende lyd i bakgrunnen sprite som vi så tidligere i denne opplæringen. Vi skjuler også knappene og starte spillet med en forsinkelse på to sekunder.

20. Sprite Sheet

Vi vil bruke en sprite ark for resten av spillelementer. Unity har en sprite editor som gjør bruk sprites en lek. Kunstverket som brukes i denne opplæringen ble hentet fra OpenGameArt.org.

Importer kunstverk, velger du den fra Eiendeler
panel og endre Sprite Mode
alternativ til < b> Multiple
i Inspector
panel

Åpne Sprite Editor
ved å klikke på knappen nedenfor og velg Slice >.; Automatisk
.



21. Hero

Med sprite ark skiver og klar til bruk, kan du klikke på pilen som vises når sprite ark er valgt, og velg sprite for helten, hovedpersonen i spillet vårt. Plasser den på scenen og legge til en Collider 2D
komponent til den.



22. Hero RigidBody 2D

For å oppdage en kollisjon med vår helt, i hvert fall en av de kolliderende objektene må ha en RigidBody 2D
komponent knyttet til den. For å legge til en til vår helt, velger du Legg til Component
i Inspector
panel, etterfulgt av Fysikk 2D
> RigidBody 2D
.

Sjekk Fast Angle
boksen for å hindre at helten fra roterende hvis det oppstår en kollisjon.

23. Hero Sound

Når vår helt blir truffet av en fiende, vi spiller en annen lyd for å gi spilleren tilbakemeldinger. Hvis du noensinne har spilt Super Mario Bros., så har du sannsynligvis vet hva effekten vi er ute etter. For å oppnå dette, må vi først legge til lyd. Velg det fra Hierarki
eller Scene
visning, klikker du på Legg til Component
knappen i Inspector
panelet, og velg Audio Source
i Audio
delen.

Detaljene i lydkomponent vil dukke opp i Inspector Panel
. Klikk på prikk under tannhjulikonet og velg truffet
lyd.

24. Samle mynter

Som i mange tradisjonelle 2D-plattformspill, kan du samle mynter i spillet vårt. Fordi vi vil bruke dette objektet flere ganger i spillet, vil vi konvertere den til en Prefab
når vi har lagt alle nødvendige komponenter.


Drag mynten fra mappe Eiendeler Kjøpe og legge en Collider2D
som vi så i forrige trinn.



25. Coin Sound

Vi spiller en lyd når helten vår samler en mynt. Legg en Audio Source
komponent som vi så et øyeblikk siden, og velg mynt
lyd fra prosjektets eiendeler.




26. Coin Script & Prefab

Legg ved denne enkle script til mynt. Den oppdager når mynten og helten kolliderer. Mynten er ødelagt og en lyd spilles for å indikere at mynten har blitt samlet inn av helten
hjelp UnityEngine, bruker System.Collections; public class GrabCoin. MonoBehaviour {void OnTriggerEnter2D (Collider2D andre) {if (other.gameObject .name == "Hero") {audio.Play (); Ødelegge (gameObject.collider2D); gameObject.renderer.enabled = false; Ødelegge (gameObject, 0.47f); //ødelegge objektet -after- lyden spilles}}}

Med alle komponentene på plass, drar mynten fra Hierarki
panelet til Eiendeler
panel for å konvertere den til en Prefab
. Du vil merke teksten blir blå indikerer det er nå en Prefab.



27. Enemy

La oss ikke glemme fiendene i spillet. Dra skisser for fienden fra mappe Eiendeler Kjøpe og legge sammen to Collider 2D
komponenter som vist i skjermbildet nedenfor.


De colliders er redusert i størrelse for å hindre at helten fra å kollidere med begge colliders samtidig. Endre innstillingene for hvert Collider 2D
komponent som nedenfor.

Den første Collider i panelet er det øverste Collider at vi har lagt til fienden. Det vil oppdage om helten hopper oppå fienden og ødelegger det. Logikken for denne handlingen er vist i skriptet nedenfor.

Vi markere andre Collider som en utløser ved å krysse av i boksen merket Er Trigger
. Den oppdager når fienden løper inn helten eller vice versa. Når det skjer, taper spilleren spillet.


Skriptet festet til fienden er vist nedenfor, og implementerer logikken vi bare diskutert. Som du kan se, er fienden flyttet til venstre i hver ramme og scriptet oppdager når helten hopper oppå fienden eller når helten går inn i fiendens
hjelp UnityEngine;. Hjelp System.Collections; public class Enemy: MonoBehaviour {public Vector3 moveSpeed; offentlig AudioClip hitSound; offentlig GameObject alertBridge; //Bruk denne for initialisering void Start () {} //Update kalles en gang per ramme void Update () {transform.position - = moveSpeed; //Flytt fienden til venstre} void OnCollisionEnter2D (Collision2D andre) //Hero hopper på fiendens {if (other.gameObject.name == "Hero") {AudioSource.PlayClipAtPoint (hitSound, transform.position); Ødelegge (gameObject); }} Void OnTriggerEnter2D (Collider2D andre) //helten treffer siden av fienden {if (other.gameObject.name == "Hero") {other.gameObject.audio.Play (); //Spille lyd Destroy (other.gameObject.collider2D); //Fjern Collider å unngå lyd replaying other.gameObject.renderer.enabled = false; //Gjør objekt usynlig Destroy (other.gameObject, 0.626f); //Destroy objekt når lyden er ferdig å spille, ødelegge det før vil føre til at lyd for å stoppe alertBridge.GetComponent () Alert ("gameover."); }}}



28. Bricks

Bricks brukes som plattformer. Helten kan hoppe på klossene for å unngå fiender og samle mynter. Dra murstein kunstverk fra Eiendeler
panel og legge til en Collider 2D
komponent til den. Ikke glem å konvertere den til en Prefab
, fordi det vil bli brukt ganske mye i spillet.



29. The End

Vi vil bruke en sprite vise målstreken av nivået. Dra den fra Eiendeler
panelet til Scene
som vist i skjermbildet nedenfor.

30. Dolby Audio Plugin


La oss styrke audial opplevelsen av våre spill ved hjelp av Dolby Audio Plugin for Unity. Men la meg først forklare hvorfor du bør bruke Dolby Audio Plugin og hvordan det vil forbedre spillet ditt.

Dolby Digital Plus er et avansert audio løsning bygget inn i mange mobile enheter, inkludert tabletter. Mobile applikasjoner kan utnytte Dolby Digital Plus evner via API. Noen av fordelene inkluderer Audio Optimization, Volume maksimering, og volumutjevning. Dolby har gjort sin API tilgjengelig for flere plattformer, inkludert Android og Kindle Fire. I spillet vårt, vil vi dra nytte av Dolby Audio Plugin for Unity.

Merk at plugin for Unity er gratis å bruke og veldig lett å integrere. Med andre ord, det er ingen grunn til ikke å ta det med i neste kamp.

Start med å laste ned Dolbys Unity plugin. Du kan laste det ned fra Unity Asset Store eller direkte fra Dolby utvikleren nettside. Hvis du velger det siste alternativet, og deretter opprette en gratis konto for å laste ned plugin eller logg inn hvis du allerede har en Dolby utviklerkonto. Pakk ut pakken og kopierer den versjonen du trenger for å Eiendeler > Plugins > Android
. Det er hvor enkelt det er å installere plugin for Unity.

Opprett et nytt manus og fest den til et objekt som er alltid til stede i spillet som bakgrunnen eller kameraet. Navn skriptet Dolby Hotell og fylle den med inn følgende kode
hjelp UnityEngine;. Bruker System.Collections, ved hjelp System.Runtime.InteropServices; //Tillater oss å bruke DLLImportpublic klasse Dolby: MonoBehaviour {private GameObject debugText; offentlig Font arial; /* Import plugin funksjoner * /[DllImport ("DSPlugin")] public static extern bool isavailable (); [DllImport ("DSPlugin")] public static extern int initialize (); [DllImport ("DSPlugin")] public static extern int setProfile (int profileid); [DllImport ("DSPlugin")] public static extern int suspendSession (); [DllImport ("DSPlugin")] public static extern int restartSession (); [DllImport ("DSPlugin")] public static extern void utgivelsen (); //Bruk denne for initialisering void Start () {/* Textfield opprettet for tilbakemeldinger * /debugText = new GameObject (); debugText.AddComponent ("GUIText"); debugText.guiText.font = arial; debugText.guiText.fontSize = 14; debugText.guiText.color = ny farge (255, 0, 0); debugText.transform.position = new Vector3 (0, 1, 0); /* Initial Dolby hvis tilgjengelig * /if (isavailable ()) {Invoke (Init, 0,1f); //Vent 100ms å sørge for Dolby-tjenesten er aktivert} else {debugText.guiText.text = "Dolby Sound Ikke tilgjengelig"; }} Void Init () {debugText.guiText.text = "Dolby Sound Tilgjengelig"; setProfile (2); /* Sett profil til "Game" * /initial (); } Void OnApplicationPause () {suspendSession (); //Dolby lyd stopper hvis app slått eller stoppet} void OnApplicationFocus () {restartSession (); //Restart Dolby lyd hvis applikasjonen er aktiv} void OnApplicationQuit () {frigjøring (); //Stopper Dolby Sound helt}}

Jeg er sikker på at du er enig i at det er veldig lett å integrere Dolby Audio API i ditt spill. Vi først opprette en debugText objekt, som er av typen GameObject, å få tilbakemelding fra enheten. Vi deretter importere nødvendige funksjoner definert av Dolby Audio API og initialisere Dolby Audio API dersom brukerens enhet støtter det.

For å sikre at Dolby tjenesten er aktivert, vi kort vente (0.1s) før du ringer initial () -metoden. Hvis vi ikke gjør dette, er det en sjanse for at du får en -1 feil, noe som kan skje når du prøver å sette Dolby på når tjenesten er å bli etablert.

Dolby har også inkludert funksjoner for å suspendere og restart lyden når det trengs, noe som er nyttig når vi bytter til et annet program, og vi trenger ikke lydforbedring. Dette er viktig for å spare strøm og andre ressurser enheten. Vi kan også stoppe lydforbedring helt ved å påberope utgivelse som vi gjør i OnApplicationQuit.



31. Testing

Det er på tide å teste spillet. Trykk på Kommando-P for å spille spillet i Unity. Hvis alt fungerer som forventet, er du klar for de siste trinnene.



32. Player Settings

Når du er fornøyd med spillet, er det tid for å velge Bygg Settings
fra Fil
menyen og klikk på Player Settings Anmeldelser knapp. Dette bør få opp Player Settings
i Inspector
panel der du kan stille inn parametrene for din søknad.

Disse innstillingene er programspesifikke og inkluderer skaperen eller firma , søknad oppløsning, skjermmodus, etc. Disse innstillingene er avhengig av hvilke enheter du målretter og butikkene eller markeder du skal publisere spillet på.



33. Ikoner og Splash Images

Ved hjelp av grafikken du opprettet tidligere, kan du nå lage et fint ikon og en splash bilde for spillet ditt. Unity viser deg de nødvendige størrelser, som er avhengig av plattformen du bygger på.

34. Bygg og Spill


Når prosjektet er riktig konfigurert, er det på tide å revidere Bygg Innstillinger Kjøpe og klikk på bygge
knappen. Det er alt det tar å bygge spillet for testing og /eller distribusjon.

Konklusjon

I denne opplæringen, vi har lært om det nye Dolby Audio Plugin for Unity, sprite ark, kontroller, dueller, og andre aspekter av spillutvikling bruker Unity. Jeg oppfordrer deg til å eksperimentere med resultatet og tilpasse spillet for å gjøre den til din egen. Jeg håper du likte denne opplæringen, og fant den nyttig.