Parte 5: Aggiunta di monete e punti
Introduzione
Con Parte 4 completata, ora dovresti avere un livello e un personaggio giocabile su cui correre e saltare.
Ora dobbiamo dare al nostro giocatore uno scopo. Per questa parte del tutorial, aggiungeremo delle monete collezionabili e un punteggio per tenerne traccia.
Le monete nascoste nei blocchi sono una delle caratteristiche più iconiche di Mario. Iniziamo questo tutorial creando questa funzione.
Nascondere monete nei mattoni
Colpire il mattone
Creeremo il nostro primo mattone in modo da poterlo modificare rapidamente per contenere quante più monete ne abbiamo bisogno. Una volta completato il mattone, puoi duplicarlo e posizionarlo ovunque tu voglia.
Questo tutorial si basa sulla Parte 4 e presuppone che tu abbia eseguito il branched del progetto della Parte 4 dall'hub.
Inizia selezionando uno dei mattoni che conterrà monete. Dalle proprietà dell'oggetto, tocca il pulsante "Comportamenti" per aprire l'editor dei comportamenti.
Dalla categoria Oggetto, aggiungi il comportamento Colpito. Il comportamento Colpito attiverà un evento ogni volta che 2 oggetti specificati si toccano.
Tocca il comportamento Colpito che hai aggiunto per visualizzarne le proprietà. Puoi vedere che ha 2 caselle per oggetti selezionabili (chiamati Oggetto A e Oggetto B). Il primo (Oggetto A) è selezionato per te ed è quello a cui stai applicando i comportamenti. Puoi toccare per cambiarlo se lo desideri, ma lo lasceremo com'è.
La casella vuota è per il tuo secondo oggetto (Oggetto B), che il comportamento colpito controllerà. Tocca la casella vuota e seleziona il tuo personaggio giocabile che hai aggiunto nella Parte 4 della guida.
Con i tuoi oggetti selezionati, ora puoi cambiare quale parte di Oggetto B attiverà l'evento colpito. Disattiva tutti i toggle, tranne l'opzione "Sopra". Ora il comportamento Colpito funzionerà solo quando la parte superiore del personaggio giocabile tocca il mattone.
Ora che il mattone controlla se la testa del giocatore lo tocca, facciamolo rimbalzare su e giù. Per fare questo, useremo i comportamenti Muovi Per muoverlo verso l'alto e poi di nuovo verso il basso.
Dalla categoria Trasforma, aggiungi il comportamento Muovi Per e collegalo al comportamento Colpito che hai aggiunto in precedenza.
Tocca il comportamento Muovi Per e visualizza le sue proprietà. Poiché vogliamo muovere il mattone verso l'alto quando il giocatore lo colpisce, cambieremo il Valore Y. Imposta questo su un numero piccolo poiché vogliamo solo dargli un lieve effetto rimbalzo. Ho usato 0.20 metri.
Dovrai anche cambiare la Durata. La durata è il tempo necessario per completare il movimento. Per impostazione predefinita, la durata è impostata a 1, ma ciò significa che il mattone si muoverà di 0,2 metri in 1 secondo. Questo è troppo lento per le nostre esigenze. Cambia la durata a 0.10 secondi.
Nota: Impostare una durata di zero causerà al tuo oggetto di spostarsi istantaneamente nella nuova posizione. Non si animerà in modo fluido. Inoltre, nota la casella con il testo "Lineare". Questo è l'effetto di transizione applicato al tuo movimento. Se il tuo comportamento ha una durata, si muoverà in base a questo effetto.
Ora per far rimbalzare indietro il mattone, aggiungi un altro comportamento Muovi Per e collegalo al precedente.
Ancora una volta, cambiare le proprietà. Questa volta, vogliamo che il mattone si muova verso il basso. Per muoverlo verso il basso, cambia il Valore Y a un numero negativo. Poiché vogliamo che il mattone torni alla sua posizione originale, lo muoveremo di -0.20 metri. Dovrai anche cambiare la durata a 0.10 secondi.
A questo punto, se premi play, il tuo giocatore può colpire il mattone dal basso e il mattone rimbalzerà su e giù. Tuttavia, ci sono alcuni problemi che dobbiamo risolvere.
-
C'è un piccolo bug nella nostra logica. Se il giocatore continua a saltare molto velocemente senza far tornare il mattone alla posizione originale, continuerà a muoversi verso l'alto.
-
Il mattone rimbalza per sempre. Cosa succede se vuoi solo alcune monete, e poi si ferma quando è vuoto?
-
Non dà ancora monete.
Iniziamo affrontando il problema 1. Questo è in realtà un semplice bug da risolvere. Tutto ciò che dobbiamo fare è disattivare il comportamento di collisione non appena il giocatore lo colpisce e poi riattivarlo quando ha terminato di muoversi.
Per fare ciò, passa alla categoria Personalizzato e aggiungi "Comportamento Disattivato", quindi collegalo al comportamento Colpito.
Successivamente, dalle proprietà di Comportamento Disattivato, tocca la casella vuota etichettata "Seleziona Comportamento". Dall'elenco, individua il corretto comportamento Colpito. Nota che l'elenco mostra tutti i comportamenti, provenienti da tutti gli oggetti. L'elenco è ordinato in base al nome dell'oggetto.
Ora devi riattivare il comportamento colpito una volta terminato il rimbalzo. Per fare ciò, aggiungi semplicemente un Comportamento Attivato dalla categoria Personalizzato e collegalo al secondo comportamento Muovi Per. Dalle proprietà del comportamento, assicurati di selezionare il comportamento Colpito per riattivarlo.
Per il problema 2, useremo un contenitore a scatola per impostare la quantità di monete che ciascun mattone tiene. Fare ciò ci consente di cambiare facilmente alcuni mattoni per avere più o meno monete.
La prima cosa che dovresti fare è aggiungere un contenitore a scatola dalla categoria Personalizzato, puoi posizionarlo ovunque sullo schermo poiché non si collega a nient'altro. Puoi anche rinominare questo contenitore a scatola in "Monete" così sarà più facile trovarlo in seguito (per ricordare come rinominare i comportamenti, controlla la Parte 4)
Dalle proprietà del comportamento del contenitore a scatola Monete, cambia la proprietà "Valore Predefinito" a 3. Questo sarà il numero di monete che il mattone contiene.
Ora dalla categoria Logica aggiungi un comportamento Aggiungi Valori e collegalo al secondo Muovi Per che abbiamo aggiunto in precedenza. Useremo questo comportamento Aggiungi Valori per tenere traccia di ogni volta che il giocatore colpisce il mattone.
Una volta collegato il comportamento "Aggiungi Valori", tocca su di esso per visualizzarne le proprietà. Le proprietà mostrano 2 campi di input, e il comportamento "Aggiungi Valori" produrrà la somma dei valori inseriti.
Nel nostro caso, poiché stiamo utilizzando l'aggiunta di valore per tenere traccia di ciascun colpo, immetteremo 1 nel campo superiore, e nel campo inferiore, faremo ritornare la somma del comportamento Aggiungi Valore nel secondo campo di input.
Ciò che fa è incrementare la somma ogni volta che il comportamento viene eseguito. La prima volta che il comportamento viene eseguito sarà 1+0 poiché non c'è somma. La seconda volta che viene eseguito sarà 1+1, poiché la somma della volta precedente è memorizzata.
Successivamente, devi controllare se la somma dei valori aggiunti è uguale al contenitore a scatola Monete che hai aggiunto in precedenza.
Per fare ciò, aggiungi un comportamento SE dalla categoria Logica e collegalo all' A** ggiungi Valori** dal passaggio precedente.
Con l'IF connesso, toccalo per visualizzarne le proprietà. Il comportamento IF controllerà se una condizione specifica è soddisfatta (basata sui 2 campi di input e sulla condizione selezionata).
In questo caso, condivideremo (output) la somma del comportamento Aggiungi valore e la collocheremo nel primo campo dell'IF.
Quindi outputtiamo i contenuti del contenitore a scatola nel secondo se.
Con questi valori inseriti, il comportamento successivo connesso verrà eseguito solo SE la somma del valore aggiunto è uguale al valore memorizzato nel contenitore a scatola delle monete.
Ora ciò che devi fare è disattivare il comportamento colpito e cambiare la grafica in modo che non puoi ottenere più monete. Per fare ciò, aggiungi un nuovo comportamento Comportamento Disattivato dalla categoria Personalizzato e collegalo all'IF. Come prima, seleziona il comportamento Colpito come quello che vuoi disattivare.
Per mostrare al giocatore che non ci sono più monete rimaste, puoi aggiungere il comportamento Cambia Grafica dalla categoria Trasforma e collegarlo all'IF.
Una volta connesso, seleziona una nuova grafica dalle proprietà del comportamento Cambia Grafica. Tocca la seconda casella nelle proprietà del comportamento e seleziona una nuova grafica.
Ora se premi play, puoi saltare e colpire il mattone 3 volte prima che si fermi.
Ottenere punti
Impostare l'interfaccia utente
L'unica cosa rimasta da fare è ottenere punti e collezionare monete quando si colpisce il mattone!
La prima cosa che faremo è aggiungere un contatore nell'angolo dello schermo per dire al giocatore quanti punti ha.
Quindi, torna all'editor principale premendo indietro dall'editor dei comportamenti. Poi devi far apparire la barra Livelli toccando i 3 punti sul lato destro dello schermo (puoi anche scorrere dal bordo dello schermo).
Seleziona il livello UI Globale. I livelli UI esistono sopra gli altri livelli nella scena e vengono solitamente utilizzati per pulsanti, joystick e etichette. Sono anche fissati nella stessa posizione sullo schermo e sembrano muoversi con il resto del contenuto nella tua scena.
Nota: gli oggetti posizionati sul livello UI Globale esisteranno in ogni scena del tuo progetto. Se vuoi che qualcosa esista solo in una scena, usa il livello UI della Scena.
Con il livello UI Globale selezionato, tocca l'icona della provetta Oggetti Speciali sul dock o trascinala nella scena.
Dalla finestra popup seleziona Etichetta, e un'etichetta verrà posizionata nella tua scena.
Tocca la nuova etichetta aggiunta per aprire le proprietà dell'oggetto. Dalle proprietà dell'etichetta puoi cambiare il colore del testo, il carattere, il testo da visualizzare e altro ancora.
Tocca la casella di testo grande e cambia il testo in "Punti:".
Successivamente, tocca "Allineamento" per espandere le proprietà di allineamento. Imposta la Larghezza su 110 e Altezza su 64.
Nota: impostare questi valori a 0 rimuove l'area del testo e consente al testo di crescere orizzontalmente indefinitamente.
Con le proprietà dell'etichetta tutte impostate, puoi utilizzare lo strumento Sposta/Trasforma per posizionare la tua nuova etichetta nell'angolo dello schermo e assicurarti di non ostacolare la vista del giocatore.
Una volta posizionata la tua etichetta, aggiungi un'altra etichetta alla scena; useremo questa etichetta per visualizzare i tuoi punti. In questo caso, imposta il testo su 0, poiché il tuo giocatore inizia con zero punti. A differenza di prima, imposteremo una larghezza e un'altezza specificate. Imposta la larghezza su 500pt e l'altezza su 64pt. Questo dà un'area specificata, in cui può apparire il testo. Se hai troppo testo da adattare in quest'area, verrà tagliato.
Imposta anche l'allineamento orizzontale per essere allineato a sinistra (Flush Left).
Quando hai finito con le proprietà dell'etichetta, posizionala accanto al titolo "Punti".
Ottenere punti
Ora dobbiamo aumentare i tuoi punti ogni volta che ottieni una moneta. Torna al tuo livello principale e ritorna ai comportamenti per il mattone con le monete in modo da poter aggiungere i comportamenti necessari.
Dalla categoria UI, trascina il comportamento "Aggiungi Al Punteggio" e collegalo al secondo Muovi Per aggiunto in precedenza in questa guida.
Successivamente, tocca il comportamento Aggiungi Al Punteggio e attiva il toggle Punteggio Infinito. Se questo toggle fosse disattivato, il comportamento successivo verrebbe attivato quando viene raggiunto il punteggio specificato. Assicurati inoltre che l'etichetta "0" sia selezionata come oggetto corretto, poiché il comportamento Aggiungi Al Punteggio selezionerà automaticamente un'etichetta casuale nella tua scena.
Se premi play ora, guadagnerai 1 punto ogni volta che il giocatore colpisce il mattone.
Ora puoi duplicare questo mattone (come hai imparato nella parte 3) e posizionarlo in tutto il tuo livello.
Monete individuali
La tua prima moneta
A volte potresti voler semplicemente aggiungere monete in tutto il tuo livello senza nasconderle all'interno dei mattoni. Questo è relativamente semplice, e ora lo esamineremo.
Inizia aggiungendo la grafica della tua moneta nella tua scena, quindi tocca su di essa per visualizzare le proprietà dell'oggetto.
Dalla parte inferiore delle proprietà dell'oggetto, assicurati che la scheda fisica sia selezionata.
Una volta nella scheda fisica, rendi la moneta passabile. Fare ciò consente al nostro giocatore di continuare ad attraversarla senza essere fermato o rallentato.
Successivamente, regoleremo i confini di collisione della moneta. I confini di collisione definiscono la forma fisica dell'oggetto. I confini di collisione possono essere di dimensioni o forma diverse dall'aspetto visivo degli oggetti. Per regolare i confini di collisione, tocca l'icona Collisioni.
Dall' Editor di Collisione puoi utilizzare la palette degli strumenti a sinistra per modificare e creare forme di collisione uniche.
Per questa guida, selezioneremo l'opzione "Circolare" per creare un confine di collisione circolare.
Successivamente, trascina il punto verde sul cerchio per ridimensionare il confine di collisione. Fai in modo che il confine di collisione abbia le stesse dimensioni della moneta. Nota che, se il confine di collisione è più grande del tuo oggetto, il tuo giocatore può interagire con esso anche prima di toccare fisicamente la grafica della moneta al centro.
Quando hai finito di creare il confine di collisione, tocca l'icona della spunta nella palette degli strumenti per accettare e salvare la nuova forma.
Ancora una volta, tocca la moneta per visualizzare le proprietà dell'oggetto. Questa volta apri l'editor dei comportamenti per la moneta.
Dalla categoria Oggetto, aggiungi il comportamento "Colpito" sullo schermo. Proprio come prima, apri le proprietà del comportamento colpito e seleziona il giocatore Green Spaceman per Oggetto B.
Successivamente, dalla categoria UI trascina il comportamento Aggiungi al punteggio e collegalo al comportamento colpito. Ancora una volta, dalle proprietà del comportamento, attiva il toggle per Punteggio Infinito e assicurati che sia selezionata l'etichetta punteggio corretta.
Infine, dalla categoria Oggetto, aggiungi il comportamento Distruggi Oggetto e collegalo al comportamento colpito. Questo rimuoverà completamente la moneta non appena il giocatore la attraverserà.
Se premi play, ora puoi correre nella moneta e questa scomparirà.
Ecco fatto! Ora il tuo gioco di piattaforma ha monete collezionabili. A questo punto, tutto ciò che devi fare è duplicare le tue monete e posizionarle in tutto il tuo livello. Cerca di essere creativo quando posizioni le tue monete!
Puoi scaricare la versione finita della Parte 5 dall'Hub e vederla tutto in azione.
Nella Parte 6, inizieremo ad aggiungere un po' di difficoltà al gioco introducendo nemici.

