Crea il tuo primo gioco Android di base in soli 7 minuti (con Unity)

Autore: Lewis Jackson
Data Della Creazione: 11 Maggio 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
Make Your FIRST COMPLETE Game in Unity | BEGINNERS
Video: Make Your FIRST COMPLETE Game in Unity | BEGINNERS

Contenuto


Realizzare un gioco completamente funzionante per Android è molto più semplice di quanto si pensi. La chiave per uno sviluppo Android di successo - o qualsiasi tipo di sviluppo - è sapere cosa vuoi ottenere e trovare gli strumenti e le competenze necessarie per farlo. Prendi la strada della minor resistenza e pensa chiaramente a un obiettivo.

Quando si tratta di creare giochi, lo strumento migliore secondo me è Unity. Sì, puoi creare un gioco in Android Studio, ma a meno che tu non abbia esperienza con Java e l'SDK di Android sarà una lotta in salita. Dovrai capire cosa fanno le lezioni. Dovrai utilizzare le visualizzazioni personalizzate. Farai affidamento su alcune librerie aggiuntive. L'elenco continua.

Unity è uno strumento altamente professionale che alimenta la stragrande maggioranza dei titoli più venduti sul Play Store.

L'unità d'altra parte fa la maggior parte del lavoro per te. Questo è un motore di gioco, il che significa che tutta la fisica e molte altre funzionalità che potresti voler usare sono già curate. È multipiattaforma ed è progettato per essere molto adatto ai principianti per gli appassionati e gli sviluppatori indipendenti.


Allo stesso tempo, Unity è uno strumento altamente professionale che alimenta la stragrande maggioranza dei titoli più venduti sul Play Store. Non ci sono limiti qui e nessuna buona ragione per rendere la vita più difficile per te stesso. È anche gratis!

Per dimostrare quanto sia facile lo sviluppo di giochi con Unity, ti mostrerò come realizzare il tuo primo gioco per Android in soli 7 minuti.

No, non lo farò spiegare come farlo in 7 minuti. Sto andando a fallo tra 7 minuti. Se segui anche tu, sarai in grado di fare esattamente la stessa cosa!

disconoscimento: prima di iniziare, voglio solo sottolineare che sto barando leggermente. Mentre il processo di creazione del gioco richiederà 7 minuti, ciò presuppone che tu abbia già installato Unity e ottenuto tutto configurato. Ma non ti lascerò impiccato: puoi trovare un tutorial completo su come farlo su.


Aggiunta di sprite e fisica

Inizia facendo doppio clic su Unity per avviarlo. Anche il viaggio più lungo inizia con un solo passo.

Ora crea un nuovo progetto e assicurati di scegliere "2D". Una volta entrato, verrai accolto con alcune finestre diverse. Questi fanno cose. Non abbiamo tempo di spiegare, quindi segui le mie indicazioni e lo raccoglierai mentre andiamo.

La prima cosa che vorrai fare è creare uno sprite come personaggio. Il modo più semplice per farlo è disegnare un quadrato. Daremo un paio di occhi. Se vuoi essere ancora più veloce, puoi semplicemente prendere uno sprite che ti piace da qualche parte.

Salva questo sprite e trascinalo nella tua "scena" posizionandolo nella finestra più grande. Noterai che si apre anche a sinistra nella "gerarchia".

Ora vogliamo creare alcune piattaforme. Ancora una volta, ci accontenteremo di un semplice quadrato e saremo in grado di ridimensionare questa mano libera per realizzare pareti, piattaforme e cosa hai.

Eccoci, bellissimo. Rilascialo come hai appena fatto.

Abbiamo già qualcosa che sembra un "gioco". Fai clic su Riproduci e per ora dovresti vedere una scena statica.

Possiamo cambiarlo facendo clic sul nostro sprite del giocatore e guardando a destra verso la finestra chiamata "ispettore". Qui è dove cambiamo le proprietà dei nostri GameObjects.

Scegli "Aggiungi componente", quindi scegli "Fisica 2D> RigidBody2D". Hai appena aggiunto fisica al tuo giocatore! Questo sarebbe incredibilmente difficile per noi da soli e mette in luce l'utilità di Unity.

Vogliamo anche correggere il nostro orientamento per impedire al personaggio di girare e girare liberamente. Trova "vincoli" nell'ispettore con il giocatore selezionato e spunta la casella per bloccare la rotazione Z. Ora fai di nuovo clic su Riproduci e dovresti trovare il tuo giocatore che ora cade dal cielo al suo infinito destino.

Prenditi un momento per riflettere su quanto sia stato facile: semplicemente applicando questo script chiamato "RigidBody2D" abbiamo una fisica completamente funzionale. Se dovessimo applicare la stessa sceneggiatura a una forma rotonda, rotolerebbe e addirittura rimbalzerebbe. Immagina di codificare te stesso e quanto sarebbe coinvolto!

Per impedire al nostro personaggio di cadere sul pavimento, dovrai aggiungere un collider. Questo è fondamentalmente il solido contorno di una forma. Per applicarlo, scegli il tuo lettore, fai clic su "Aggiungi componente" e questa volta seleziona "Fisica 2D> BoxCollider2D".

Prenditi un momento per riflettere su quanto sia stato facile: semplicemente applicando questo script chiamato "RigidBody2D" abbiamo una fisica completamente funzionale.

Fai esattamente la stessa cosa con la piattaforma, fai clic su Riproduci e il tuo personaggio dovrebbe cadere sul terreno solido. Facile!

Ancora una cosa: per assicurarci che la telecamera segua il nostro lettore, sia che cadano o si muovano, vogliamo trascinare l'oggetto della telecamera che si trova nella scena (questo è stato creato quando hai iniziato il nuovo progetto) sopra il player. Ora nella gerarchia (l'elenco di GameObjects a sinistra) trascinerai la videocamera in modo che sia rientrata sotto il giocatore. La videocamera è ora un "figlio" dell'Oggetto Game Player, il che significa che quando il giocatore si muove, lo sarà anche la videocamera.

La tua prima sceneggiatura

Faremo un corridore infinito di base e questo significa che il nostro personaggio dovrebbe muoversi attraverso lo schermo fino a quando non raggiungono un ostacolo. Per questo, abbiamo bisogno di una sceneggiatura. Quindi fai clic con il tasto destro nella cartella Risorse in basso e crea una nuova cartella chiamata "Script". Ora fai di nuovo clic con il pulsante destro del mouse e scegli "Crea> Script C #". Chiamalo "PlayerControls".

Per la maggior parte, gli script che creiamo definiranno comportamenti specifici per i nostri GameObject.

Ora fai doppio clic sul tuo nuovo script e si aprirà in Visual Studio se imposti tutto correttamente.

C'è già del codice qui, che è il "codice della piastra della caldaia". Ciò significa che è necessario utilizzare il codice in quasi tutti gli script, quindi è pronto per essere salvato. Ora aggiungeremo un nuovo oggetto con questa riga sopra void Start ():

public Rigidbody2D rb;

Quindi posizionare questa riga di codice successiva nel metodo Start () per trovare il corpo rigido. Questo in sostanza dice a Unity di localizzare la fisica collegata a GameObject a cui questo script sarà associato (il nostro giocatore ovviamente). Start () è un metodo che viene eseguito non appena viene creato un nuovo oggetto o script. Individua l'oggetto fisico:

rb = GetComponent();

Aggiungi questo all'interno di Update ():

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

Update () si aggiorna ripetutamente e quindi qualsiasi codice qui verrà eseguito più volte fino a quando l'oggetto non viene distrutto. Tutto ciò dice che vogliamo che il nostro corpo rigido abbia un nuovo vettore con la stessa velocità sull'asse y (rb.velocity.y) ma con la velocità di "3" sull'asse orizzontale. Man mano che avanzi, probabilmente in futuro utilizzerai "FixedUpdate ()".

Salvalo e torna su Unity. Fai clic sul personaggio del tuo giocatore, quindi nella finestra di ispezione seleziona Aggiungi componente> Script, quindi il nuovo script. Fai clic su Riproduci e boom! Il tuo personaggio dovrebbe ora spostarsi verso il bordo della sporgenza come un lemming.

Nota: se qualcuno di questi sembra confuso, basta guardare il video per vedere che tutto è stato fatto: sarà di aiuto!

Input del giocatore molto semplice

Se vogliamo aggiungere una funzione di salto, possiamo farlo in modo molto semplice con solo un ulteriore bit di codice:

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

Questo rientra nel metodo di aggiornamento e dice che "se il giocatore fa clic", aggiungi la velocità sull'asse y (con il valore 5). Quando usiamo if, tutto ciò che segue tra parentesi viene usato come una specie di test vero o falso. Se la logica all'interno di dette parentesi è vera, verrà eseguito il codice tra le parentesi graffe seguenti. In questo caso, se il giocatore fa clic con il mouse, viene aggiunta la velocità.

Android legge il clic sinistro del mouse mentre si tocca un punto qualsiasi dello schermo! Quindi ora il tuo gioco ha controlli di tocco di base.

Trovare il tuo piede

Questo è praticamente sufficiente per fare un clone di Flappy Birds. Lancia alcuni ostacoli e impara a distruggere il giocatore quando lo tocca. Aggiungi un punteggio in più.

Se riuscirai a risolvere questo problema, nessuna sfida sarà troppo grande in futuro

Ma abbiamo un po 'più di tempo in modo da poter diventare più ambiziosi e creare invece un gioco di tipo corridore infinito. L'unica cosa che non va in quello che abbiamo al momento è che toccando il salto salterà anche quando il giocatore non sta toccando il pavimento, quindi essenzialmente può volare.

Rimediare a questo diventa un po 'più complesso, ma è difficile quanto diventa Unity. Se riuscirai a risolvere questo problema, nessuna sfida sarà troppo grande in futuro.

Aggiungi il seguente codice allo script sopra il metodo Update ():

trasformazione pubblica groundCheck; public Transform startPosition; galleggiante pubblico groundCheckRadius; public LayerMask whatIsGround; bool privato onGround;

Aggiungi questa riga al metodo di aggiornamento sopra l'istruzione if:

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

Infine, modifica la seguente riga in modo che includa && onGround:

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

L'intera cosa dovrebbe apparire così:

PlayerControls di classe pubblica: MonoBehaviour {public Rigidbody2D rb; trasformazione pubblica groundCheck; public Transform startPosition; galleggiante pubblico groundCheckRadius; public LayerMask whatIsGround; bool privato 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); }}}

Quello che stiamo facendo qui è creare una nuova trasformazione - una posizione nello spazio - quindi stiamo impostando il suo raggio e chiedendo se si sovrappone a un livello chiamato ground. Stiamo quindi cambiando il valore del valore booleano (che può essere vero o falso) a seconda che sia o meno il caso.

Quindi, onGround è vero se la trasformazione chiamata groundCheck si sovrappone al livello del terreno.

Se fai clic su Salva e poi ritorni su Unity, ora dovresti vedere più opzioni disponibili nel tuo ispettore quando selezioni il giocatore. Queste variabili pubbliche possono essere viste dall'interno dell'Unità stessa e ciò significa che possiamo impostarle come preferiamo.

Fai clic con il pulsante destro del mouse nella gerarchia a sinistra per creare un nuovo oggetto vuoto e trascinalo in modo che sia appena sotto il giocatore nella finestra della scena in cui desideri rilevare il pavimento. Rinomina l'oggetto "Controlla terreno" e poi rendilo figlio del giocatore proprio come hai fatto con la videocamera. Ora dovrebbe seguire il giocatore, controllando il pavimento sottostante.

Seleziona di nuovo il giocatore e, nell'ispettore, trascina il nuovo oggetto Check Ground nello spazio in cui è indicato "groundCheck". La "trasformazione" (posizione) ora sarà uguale alla posizione del nuovo oggetto. Mentre sei qui, inserisci 0.1 dove indica il raggio.

Infine, dobbiamo definire il nostro livello "ground". Per fare ciò, seleziona il terreno che hai creato in precedenza, quindi in alto a destra nella finestra di ispezione, trova la posizione "Livello: Predefinito". Fai clic su questa casella a discesa e scegli "Aggiungi livello".

Ora fai clic indietro e questa volta seleziona "terra" come livello per la tua piattaforma (ripeti l'operazione per tutte le altre piattaforme intorno a te fluttuanti). Infine, nel punto in cui viene indicato "What is Ground" sul tuo giocatore, seleziona anche il livello ground.

Ora stai dicendo allo script del tuo giocatore di verificare se il piccolo punto sullo schermo si sovrappone a qualcosa che corrisponde a quel livello. Grazie a quella linea che abbiamo aggiunto in precedenza, il personaggio ora salterà solo in questo caso.

E con ciò, se colpisci il gioco, puoi goderti un gioco piuttosto semplice che richiede di fare clic per saltare al momento giusto.

Detto questo, se colpisci il gioco puoi goderti un gioco piuttosto semplice che richiede di fare clic per saltare al momento giusto. Se hai configurato correttamente Unity con l'SDK di Android, dovresti essere in grado di costruirlo ed eseguirlo e quindi giocare sul tuo smartphone toccando lo schermo per saltare.

La strada davanti

Ovviamente c'è molto altro da aggiungere per rendere questo gioco completo. Il giocatore dovrebbe essere in grado di morire e rigenerarsi. Vorremmo aggiungere livelli extra e altro ancora.

Il mio obiettivo qui era di mostrarti quanto velocemente puoi ottenere qualcosa di base funzionante. Seguendo queste istruzioni, avresti dovuto essere in grado di costruire il tuo corridore infinito in pochissimo tempo semplicemente lasciando che Unity gestisse le cose difficili, come la fisica.

Se sai cosa vuoi costruire e fai le tue ricerche, non devi essere un mago della programmazione per creare un gioco decente!

RootMetric ha recentemente pubblicato il uo rapporto emetrale u come i comportano i primi quattro operatori wirele negli tati Uniti in una varietà di categorie. Come al olito, Verizon è il m...

In Android 8.1 Oreo e Android 9 Pie, e deideri intallare un'app eterna a Google Play tore, devi abilitare l'autorizzazione "Intalla app conociute" per tutte le applicazioni che utili...

Raccomandato Per Te