Byg dit første basale Android-spil på kun 7 minutter (med Unity)

Forfatter: Lewis Jackson
Oprettelsesdato: 11 Kan 2021
Opdateringsdato: 1 Juli 2024
Anonim
Byg dit første basale Android-spil på kun 7 minutter (med Unity) - Nyheder
Byg dit første basale Android-spil på kun 7 minutter (med Unity) - Nyheder

Indhold


At lave et fuldt fungerende spil til Android er meget lettere, end du måske tror. Nøglen til succesfuld Android-udvikling - eller enhver form for udvikling - er at vide, hvad du vil opnå, og finde de nødvendige værktøjer og færdigheder til at gøre det. Gå på vejen med mindst modstand og har et klart mål i tankerne.

Når det kommer til at oprette spil, er det bedste værktøj efter min mening Unity. Ja, du kan lave et spil i Android Studio, men medmindre du har erfaring med Java og Android SDK, vil det være en op ad bakke. Du bliver nødt til at forstå, hvad klasser gør. Du skal bruge tilpassede visninger. Du vil stole på nogle yderligere biblioteker. Listen fortsætter.

Unity er et meget professionelt værktøj, der styrker langt de fleste af de største sælgende titler i Play Store.

Enhed på den anden side gør det meste af arbejdet for dig. Dette er en spilmotor, hvilket betyder, at al fysik og mange af de andre funktioner, du måske ønsker at bruge, allerede er taget hånd om. Det er tværs af platformen, og den er designet til at være meget begyndervenlig for hobbyister og indieudviklere.


Samtidig er Unity et meget professionelt værktøj, der driver det store flertal af de største sælgende titler i Play Store. Der er ingen begrænsninger her og ingen god grund til at gøre livet sværere for dig selv. Det er også gratis!

For at demonstrere, hvor let spiludvikling med Unity er, vil jeg vise dig, hvordan du opretter dit første Android-spil på kun 7 minutter.

Nej - det vil jeg ikke forklare hvordan man gør det på 7 minutter. Jeg skal til at gør det på 7 minutter. Hvis du også følger med, vil du være i stand til at gøre nøjagtig den samme ting!

Ansvarsfraskrivelse: Før vi kommer i gang, vil jeg bare påpege, at jeg snyder lidt. Mens processen med at fremstille spillet vil tage 7 minutter, antager det, at du allerede har installeret Unity og fået alt opsat. Men jeg vil ikke lade dig hænge: du kan finde en fuld tutorial om, hvordan du gør det kl.


Tilføjelse af sprites og fysik

Start med at dobbeltklikke på Enhed for at starte den. Selv den længste rejse starter med et enkelt trin.

Opret nu et nyt projekt, og sørg for, at du vælger '2D'. Når du er inde, vil du blive mødt med et par forskellige vinduer. Disse gør ting. Vi har ikke tid til at forklare, så bare følg mine anvisninger, så henter du det, mens vi går.

Den første ting, du vil gøre, er at oprette en sprite, der skal være din karakter. Den nemmeste måde at gøre det på er at tegne en firkant. Vi vil give det et par øjne. Hvis du vil være endnu hurtigere, kan du bare gribe en sprite, du kan lide, et eller andet sted.

Gem denne sprite og derefter bare træk og slip den i din 'scene' ved at placere den i det største vindue. Du vil bemærke, at det også dukker op til venstre i 'hierarkiet'.

Nu vil vi oprette nogle platforme. Igen, vi vil tilpasse os med et simpelt firkant og vi kan ændre størrelsen på denne frihånd til at lave vægge, platforme og hvad har du.

Der går vi, smukke. Slip det på samme måde, som du lige har gjort.

Vi har allerede noget, der ligner et 'spil'. Klik på play, og du skal se en statisk scene lige nu.

Vi kan ændre det ved at klikke på vores spiller sprite og kigge over til højre til vinduet kaldet 'inspektøren'. Det er her vi ændrer egenskaber for vores GameObjects.

Vælg 'Tilføj komponent', og vælg derefter 'Fysik 2D> RigidBody2D'. Du har lige tilføjet fysik til din spiller! Dette ville være utroligt vanskeligt for os at gøre på egen hånd og fremhæver virkelig brugbarheden af ​​Enhed.

Vi ønsker også at rette vores orientering for at forhindre, at karakteren roterer og friløb. Find 'begrænsninger' i inspektøren med den valgte spiller, og marker afkrydsningsfeltet for at fryse rotation Z. Klik nu på play igen, og du skal finde din spiller nu dråber fra himlen til hans uendelige undergang.

Tag et øjeblik til at reflektere over, hvor let dette var: blot ved at anvende dette script kaldet 'RigidBody2D' har vi fuldt funktionsdygtig fysik. Hvis vi anvender det samme script på en rund form, ville det også rulle og endog hoppe. Forestil dig at kode dig selv, og hvor involveret det ville være!

For at forhindre, at vores karakter falder gennem gulvet, skal du tilføje en collider. Dette er dybest set den faste kontur af en form. For at anvende det skal du vælge din spiller, klikke på 'Tilføj komponent' og vælg denne gang 'Fysik 2D> BoxCollider2D'.

Tag et øjeblik til at reflektere over, hvor let dette var: blot ved at anvende dette script kaldet 'RigidBody2D' har vi fuldt funktionsdygtig fysik.

Gør den nøjagtige samme ting med platformen, klik på play, og så skal din karakter falde ned på den faste jord. Let!

En ting mere: For at sikre, at kameraet følger vores afspiller, uanset om de falder eller bevæger sig, ønsker vi at trække kameraobjektet, der er i scenen (dette blev oprettet, da du startede det nye projekt) oven på afspilleren. Nu i hierarkiet (listen over GameObjects til venstre) skal du trække kameraet, så det indrykkes under afspilleren. Kameraet er nu et 'barn' af Player GameObject, hvilket betyder, at når afspilleren bevæger sig, så vil kameraet også gøre det.

Dit første script

Vi vil lave en grundlæggende uendelig løber, og det betyder, at vores karakter skal bevæge sig hen over skærmen, indtil de rammer en hindring. Til det har vi brug for et script. Så højreklik i mappen Assets nederst og opret en ny mappe kaldet ‘Scripts’. Højreklik igen og vælg 'Opret> C # script'. Kald det 'PlayerControls'.

For det meste definerer scripts, vi opretter, specifik opførsel for vores GameObjects.

Dobbeltklik nu på dit nye script, og det åbnes i Visual Studio, hvis du konfigurerer alt korrekt.

Der er allerede noget kode her, som er 'kedelplade-kode'. Det betyder, at det er den kode, du skal bruge i næsten ethvert script, så det er klar til at du sparer tid. Nu tilføjer vi et nyt objekt med denne linje over tomrum Start ():

offentlig Rigidbody2D rb;

Placer derefter denne næste kodelinje i Start () -metoden for at finde stivkroppen. Dette fortæller grundlæggende at Unity skal lokalisere den fysik, der er knyttet til GameObject, som dette script vil være tilknyttet (vores spiller selvfølgelig). Start () er en metode, der udføres, så snart et nyt objekt eller script oprettes. Find fysikobjektet:

rb = GetComponent();

Tilføj denne opdatering ():

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

Opdatering () opdateres gentagne gange, så enhver kode deri her løber igen og igen, indtil objektet ødelægges. Alt dette siger, at vi ønsker, at vores stive person skal have en ny vektor med den samme hastighed på y-aksen (rb.velocity.y), men med hastigheden '3' på den vandrette akse. Når du skrider frem, bruger du sandsynligvis 'FixedUpdate ()' i fremtiden.

Gem det, og gå tilbage til Unity. Klik på din spillerkarakter, og vælg derefter Tilføj komponent> Scripts i inspektøren og derefter dit nye script. Klik på play, og boom! Din karakter skal nu bevæge sig mod kanten af ​​afsatsen som en lemming.

Bemærk: Hvis noget af dette lyder forvirrende, skal du bare se videoen for at se, at det hele bliver gjort - det hjælper!

Meget grundlæggende spillerinput

Hvis vi vil tilføje en springfunktion, kan vi gøre dette meget enkelt med kun en ekstra bit kode:

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

Dette går inden i opdateringsmetoden, og det siger, at 'hvis afspilleren klikker', tilføjes hastighed på y-aksen (med værdien 5). Når vi bruger if, bruges noget, der følger inde i parenteserne, som en slags sand eller falsk test. Hvis logikken inden i nævnte parenteser er sand, kører koden i de følgende krøllede parenteser. I dette tilfælde, hvis afspilleren klikker på musen, tilføjes hastigheden.

Android læser det venstre museklik som at trykke overalt på skærmen! Så nu har dit spil grundlæggende tappekontroller.

Find din fodfæste

Dette er dybest set nok til at gøre en Flappy Birds-klon. Kast nogle forhindringer ind, og lær, hvordan du ødelægger afspilleren, når den rører dem. Tilføj en score oven på det.

Hvis du får det ned, vil ingen udfordringer være for store i fremtiden

Men vi har lidt mere tid, så vi kan blive mere ambitiøse og lave et uendeligt løbstypespil i stedet. Det eneste, der er galt med det, vi har i øjeblikket, er, at trykke på spring springer, selv når spilleren ikke rører gulvet, så det i det væsentlige kan flyve.

Afhjælpning af dette bliver lidt mere kompliceret, men det er omtrent så hårdt, som Unity bliver. Hvis du får det ned, vil ingen udfordringer være for store i fremtiden.

Føj følgende kode til dit script over metoden Update ():

offentlig Transform GroundCheck; offentlig Transform startPosition; offentlig flydebaneCheckRadius; public LayerMask whatIsGround; privat bool onGround;

Føj denne linje til opdateringsmetoden over if-sætningen:

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

Endelig skal du ændre den følgende linje, så den inkluderer && onGround:

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

Det hele skal se sådan ud:

offentlig klasse PlayerControls: MonoBehaviour {public Rigidbody2D rb; offentlig Transform GroundCheck; offentlig Transform startPosition; offentlig flydebaneCheckRadius; public LayerMask whatIsGround; privat bool onGround; void Start () {rb = GetComponent(); } ugyldig opdatering () {rb.velocity = ny 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 laver her, er at skabe en ny transformation - en position i rummet - så indstiller vi dens radius og spørger, om det overlapper et lag kaldet jord. Vi ændrer derefter værdien af ​​Boolean (som kan være sand eller falsk) afhængigt af, om det er tilfældet eller ej.

Så onGround er sandt, hvis transformen kaldet groundCheck overlapper lagbunden.

Hvis du klikker på Gem og derefter går tilbage til Unity, skal du nu se, at du har flere muligheder tilgængelige i din inspektør, når du vælger afspilleren. Disse offentlige variabler kan ses inden for selve Enheden, og det betyder, at vi kan indstille dem, som vi vil.

Højreklik i hierarkiet over til venstre for at oprette et nyt tomt objekt og træk det så, så det er lige under afspilleren i scenevinduet, hvor du vil registrere gulvet. Omdøb objektet 'Kontroller jorden', og gør det til et barn af spilleren, ligesom du gjorde med kameraet. Nu skal den følge spilleren og kontrollere gulvet nedenunder, som det gør.

Vælg afspilleren igen, og træk det nye Check Ground-objekt i inspektøren ind i det rum, hvor det står 'groundCheck'. 'Transform' (position) vil nu være lig med det nye objekts position. Mens du er her, skal du indtaste 0.1, hvor det står radius.

Endelig er vi nødt til at definere vores 'jorden' lag. For at gøre dette skal du vælge det terræn, du oprettede tidligere, derefter op øverst til højre i inspektøren, finde hvor det står 'Lag: Standard'. Klik på denne rulleliste, og vælg 'Tilføj lag'.

Klik nu tilbage, og vælg denne gang 'jorden' som laget til din platform (gentag dette for alle andre platforme, du har svævet rundt). Endelig, hvor det står 'Hvad er jord' på din spiller, skal du vælge jordlaget også.

Du fortæller nu dit spillerskript at kontrollere, om det lille punkt på skærmen overlapper noget, der matcher det lag. Takket være den linje, vi tilføjede tidligere, springer tegnet nu kun, når det er tilfældet.

Og med det, hvis du rammer play, kan du nyde et temmelig grundlæggende spil, der kræver, at du klikker for at hoppe på det rigtige tidspunkt.

Med det, hvis du rammer spil, kan du nyde et temmelig grundlæggende spil, der kræver, at du klikker for at hoppe på det rigtige tidspunkt. Hvis du opretter din enhed korrekt med Android SDK, skal du være i stand til at opbygge og køre dette og derefter spille på din smartphone ved at trykke på skærmen for at springe.

Vejen videre

Der er naturligvis meget mere at tilføje for at gøre dette til et komplet spil. Spilleren skal være i stand til at dø og respawn. Vi vil gerne tilføje ekstra niveauer og mere.

Mit mål her var at vise dig, hvor hurtigt du kan få noget grundlæggende i gang. Ved at følge disse instruktioner skulle du have været i stand til at bygge din uendelige løber på kort tid ved blot at lade Unity håndtere de hårde ting, som fysik.

Hvis du ved, hvad du vil bygge og udføre din research, behøver du ikke at være en kodningsguide for at skabe et anstændigt spil!

amung er angiveligt i amtaler med Apple for at foryne idtnævnte med OLED-kærme. Ifølge Elec, Apple vil vie kærme i det rygte 16-tommer MacBook Pro og fremtidige iPad Pro-modeller....

amung CE 2019-preehændele havde en række tore meddeleler fra virkomheden, men måke det met overrakende var afløringen om, at den hjemmevokne Bixby digitale aitent nart vil vær...

Vælg Administration