Salvataggio, Caricamento e Punteggi Alti
Spesso si desidera creare un gioco in cui vengono ricordati determinati dettagli sull'ultima volta che è stato giocato.
Ciò che si desidera salvare dipende fortemente dal gioco o dall'app che si sta creando. Che tu voglia salvare un punteggio, la posizione o i progressi complessivi, devi pianificare come e cosa desideri salvare.
In questo tutorial tratteremo il salvataggio del punteggio di un giocatore e la creazione di un semplice sistema di punteggi elevati o di punteggio "Migliore precedente".
Per questo tutorial, presumeremo che tu abbia creato un gioco semplice in cui il giocatore raccoglie monete (Parte 5 di Creazione di un Gioco di Piattaforme), e il numero di monete viene visualizzato con un'etichetta sullo schermo.
Salvataggio
Quando si tratta di salvataggio, ci sono due domande importanti che si desidera farsi. Cosa vuoi salvare e quando dovresti salvare? In hyperPad, il comportamento di Salvataggio può salvare solo un valore alla volta. Quindi è davvero necessario pensare a ciò che si sta salvando.
In questo tutorial, salveremo il punteggio (numero di monete raccolte) che viene visualizzato utilizzando un'etichetta sullo schermo.
Ora che sappiamo che stiamo salvando il punteggio dall'etichetta, la prossima cosa da capire è quando salvare.
Ci sono molte opzioni qui, e dipendono dal gameplay o dal design complessivo. Puoi farlo salvare ogni volta che il giocatore raccoglie la moneta, salvare quando il giocatore perde, salvare quando il giocatore batte il livello, salvare quando il giocatore preme un pulsante, o qualsiasi altra cosa tu pensi sia necessaria per la tua situazione.
Per questo tutorial, configureremo un pulsante che salva il punteggio quando il giocatore preme il pulsante di salvataggio. Questa stessa logica comportamentale può essere applicata se desideri salvare quando il giocatore perde o finisce il livello. Devi solo attivare questi comportamenti quando vinci o perdi.
Seleziona il tuo oggetto Pulsante di Salvataggio e apri i comportamenti.
Dal categoria Interazione dell'editor di comportamenti, aggiungi un comportamento "Interrompi Contatto".
Ora dalla categoria UI aggiungi un comportamento "Ottieni Etichetta" e collegalo al comportamento "Interrompi Contatto" del passo precedente.
Tocca il comportamento "Ottieni Etichetta" per visualizzare le proprietà del comportamento. Dalle proprietà del comportamento, tocca l'area che rappresenta l'oggetto corrente, quindi seleziona l'etichetta nella tua scena che rappresenta il tuo punteggio.
Successivamente dalla categoria Personalizzato aggiungi un comportamento "Salva su File" e collegalo a "Interrompi Contatto".
Seleziona il comportamento "Salva su File" che hai appena aggiunto per visualizzare le proprietà del comportamento. Nota che il "Tipo di Chiave" è impostato su esistente. Le chiavi esistenti sono cose predefinite che vuoi salvare.
Prima devi aggiungere il titolo o la descrizione di qualcosa che desideri salvare. Questo è chiamato "Chiave". Tocca il pulsante "Seleziona o Crea Chiave" per aprire l'elenco delle chiavi.
Inserisci un titolo descrittivo in cima, quindi premi il pulsante + per aggiungere la tua prima chiave. Poiché vogliamo salvare il punteggio, inserisci "Punteggio" come chiave.
Successivamente devi effettivamente salvare il punteggio dall'etichetta. Per farlo, emetti il valore nell'angolo del comportamento "Ottieni Etichetta" nel campo di input delle proprietà di "Salva su File".
Questo è tutto! A questo punto, il tuo gioco dovrebbe salvare il punteggio appena premi il pulsante di salvataggio. Ma non hai ancora fatto nulla con il valore salvato. La prossima cosa da fare è caricare il punteggio e usarlo effettivamente nella tua scena.
Caricamento
Con il punteggio salvato, ora devi caricarlo e usarlo nella tua scena. Quando si tratta di caricamento, c'è una domanda importante che devi rispondere. Quando vuoi caricare?
Come per il salvataggio, la risposta dipende fortemente dal tuo progetto. Puoi caricare non appena la scena inizia, quando il giocatore preme un pulsante o quando viene attivato un altro evento. Dipende davvero da ciò che stai cercando di ottenere.
Per questo tutorial, caricheremo non appena la scena inizia e mostreremo il punteggio salvato in precedenza.
Per iniziare, aggiungi un'etichetta nella tua scena. Useremo questa etichetta per mostrare il tuo punteggio salvato.
Successivamente, dobbiamo aggiungere la logica di caricamento effettiva. Per questo tutorial, aggiungeremo la logica al Pulsante di Salvataggio dei passi precedenti. Tuttavia, a seconda del tuo gioco, potresti dover mettere la logica altrove. Seleziona il pulsante di salvataggio e apri l'editor di comportamento delle proprietà dell'oggetto.
Dalla categoria Personalizzato aggiungi il comportamento "Carica da File" e non collegarlo a nulla. Poiché non è collegato ad alcun altro comportamento, il comportamento di caricamento verrà eseguito non appena la scena inizia (quando il pulsante esiste nella scena). Se desideri caricare in base a un certo evento o altro attivatore, collega a altri comportamenti.
Ora seleziona il comportamento "Carica da File" per visualizzare le proprietà del comportamento. Ancora una volta, assicurati che "Esistente" sia selezionato per il tipo di chiave.
Successivamente, tocca il pulsante "Seleziona Chiave" per aprire l'elenco delle chiavi salvate. Dall'elenco scegli la chiave "Punteggio" che hai aggiunto in precedenza.
A questo punto, hai tecnicamente caricato il punteggio. Ma non ci stai ancora facendo niente. Mettiamo a frutto quel valore caricato.
Dalla categoria UI, aggiungi un comportamento "Imposta Etichetta" e collegalo al comportamento di Caricamento che hai aggiunto in precedenza.
Successivamente seleziona il comportamento "Imposta Etichetta" per visualizzarne le proprietà e ricorda di scegliere la nuova etichetta che hai appena aggiunto che rappresenta il punteggio caricato. Una volta selezionata l'etichetta corretta da modificare, trascina il valore di output dall'angolo del comportamento "Carica da File" nel campo di input del comportamento Imposta Etichetta.
Questo è tutto ciò che devi fare! I tuoi progressi verranno salvati e caricati in un'etichetta la prossima volta che giochi.
Punteggio Elevato
Una cosa che potresti aver notato è che il tuo punteggio viene salvato ogni volta che premi il pulsante e sovrascrive il punteggio precedente. A volte questo va bene, ma di solito vuoi solo salvare quando il giocatore raggiunge un punteggio maggiore di quello precedente.
Per implementare questo sistema di "Punteggio Elevato" dobbiamo solo modificare leggermente la nostra logica di salvataggio.
Inizia tornando al punto in cui sono posizionati i comportamenti di salvataggio (il pulsante di salvataggio).
Prima devi scollegare il comportamento "Salva su File" dal tuo comportamento di Interrompi Contatto. Tocca la linea che collega i due comportamenti per scollegarli.
Successivamente dalla categoria Logica aggiungi un comportamento IF. Il comportamento IF verificherà quando una certa condizione è soddisfatta prima di eseguire. In questo caso vogliamo solo salvare SE il punteggio è maggiore del punteggio precedente (caricato).
Collega il comportamento IF al comportamento "Interrompi Contatto".
Successivamente devi toccare il comportamento IF per aprire le proprietà del comportamento e impostare la condizione.
Trascina il valore di output da "Ottieni Etichetta" nel primo campo di input del comportamento IF.
Quindi trascina il valore di output dal comportamento "Carica da File" nel secondo campo di input del comportamento IF.
Ora devi cambiare la condizione. Tocca il pulsante "È Uguale A" e seleziona l'opzione Maggiore o Uguale a (≥).
Infine, collega il tuo vecchio comportamento di salvataggio all'IF. Ora il tuo comportamento IF eseguirà solo il salvataggio connesso, SE il valore dall'etichetta è maggiore (o uguale) al valore caricato.
Questo è tutto ciò che devi fare. Ora dovresti avere un sistema di salvataggio e caricamento funzionante che salverà il punteggio del giocatore solo se supera il tentativo precedente.
Altri Salvataggi
Questo tutorial ha trattato il salvataggio di un punteggio. Ma a volte vuoi salvare altre cose, come la posizione di un giocatore, o il livello corrente, ecc.
I concetti che hai appreso in questo tutorial si applicano ancora. Devi solo cambiare quando stai salvando e cosa stai salvando.
Prendi ad esempio il salvataggio della posizione del giocatore. La posizione di un oggetto è data in 2 numeri. L'X, e la Y. Per questo, useresti semplicemente 2 comportamenti di salvataggio. Uno per salvare la posizione X e l'altro per salvare la posizione Y. Poi, quando si tratta di caricare, useresti 2 comportamenti di caricamento. Quindi invece di impostare un'etichetta, sposteresti semplicemente l'oggetto giocatore nelle posizioni X e Y caricate.
Facendo un piano di ciò che stai cercando di salvare, e quando devi salvare, puoi creare un sistema che funzioni per quasi ogni situazione.

