‫Ciao e Benvenuto.
‫In questa lezione, faremo in modo che quando esaurirai tutti i tuoi proiettili, il tuo
‫gioco riavvierà automaticamente il livello attuale.
‫Dopo una pausa di 5 secondi, tuffiamoci e vediamo come è fatto.
‫Quindi un elemento di questo gioco che non è particolarmente divertente in questo momento è che quando si esauriscono le munizioni, è
‫un vicolo cieco.
‫Non puoi riprovare, non puoi fare nient'altro, non puoi passare a un altro livello.
‫Ora, il modo in cui puoi risolvere questo problema è permettendoci di ricaricare al livello attuale.
‫Il modo in cui puoi farlo è usare una nota speciale in Blueprint.
‫Quindi, se fai clic con il pulsante destro del mouse sul grafico dell'evento, apri il tuo progetto di livello e fai clic con il pulsante destro del mouse nel grafico
‫dell'evento.
‫Possiamo cercare il livello aperto.
‫E ci sono due opzioni qui.
‫C'è un livello aperto per nome e un livello aperto per riferimento all'oggetto.
‫Possiamo usare il livello aperto per nome.
‫Quindi qui hai un nodo che ovviamente ha effetti collaterali perché ricaricherà il livello e ha un input, che
‫è il nome del livello qui.
‫Ora come otteniamo il nome del livello corrente?
‫Potremmo semplicemente digitarlo, ma se accidentalmente rinominassimo questo livello in futuro, beh, quello che possiamo fare è anche fare
‫clic con il tasto destro e fare un nome del livello corrente, che ci ottiene un altro nodo che restituisce il nome
‫del livello corrente .
‫È interessante notare che questa non è una pura funzione.
‫Non ho idea del perché perché sembra che dovrebbe essere.
‫E quello che possiamo fare è che possiamo.
‫Anche se questi due tipi sono diversi, uno di essi restituisce una stringa e l'altro richiede
‫qualcosa di tipo name.
‫In realtà è possibile convertire molto facilmente tra stringhe e nome in modo da poter trascinare dal valore restituito
‫al valore di input e verrà creato automaticamente un nodo di conversione per noi.
‫Abbiamo anche bisogno di collegare il punto di esecuzione tra questi due.
‫Quindi otterremo la conversione del nome del livello corrente e quindi apriremo il livello.
‫Ora, quando è che vogliamo farlo?
‫Attualmente tutto sta accadendo su un evento chiave o inizia a giocare, ma c'è un'altra opzione.
‫Quello che possiamo fare è che possiamo avere un nodo speciale nel grafico dell'evento radice, quindi non all'interno delle funzioni ma all'interno del
‫grafico dell'evento radice chiamato nodo di ritardo.
‫Quindi quello che faremo è che dopo aver premuto le munizioni esaurite, toglieremo il perno di esecuzione
‫qui e cercheremo il ritardo.
‫E poi puoi vedere che porta un tipo speciale di nodo con un orologio su di esso.
‫E questo significa che l'output non avviene immediatamente dopo che la funzione è terminata, ma avviene dopo un certo
‫periodo di tempo.
‫Quindi puoi vedere che possiamo inserire la durata qui e quella durata potrebbe essere di 5 secondi, ad esempio.
‫Quindi nella mia stringa di stampa, la aggiornerò per dire che le munizioni si riavviano in 5 secondi e poi punto, punto,
‫punto.
‫E quindi possiamo inserire il codice che riavvia il livello nell'output, il nodo completato del nodo di
‫ritardo.
‫Quindi, se andiamo avanti e giochiamo ora, quello che vedremo è che posso esaurire le munizioni, finire tutte le
‫mie munizioni, ho esaurito.
‫E dice Riavvio in 5 secondi e dopo che sono trascorsi 5 secondi, boom, il livello è appena ricominciato.
‫Così piccola sfida per questa lezione è estrarre una funzione da quei nodi che abbiamo appena creato, il livello corrente,
‫il nome e il livello aperto.
‫E la mia sfida per te è solo pensare a un buon nome per questa funzione.
‫Metti in pausa il video e prova.
‫Bene.
‫Ben tornato.
‫Bene, lo chiamerò livello di riavvio perché è quello che penso stia facendo.
‫Quindi farò clic con il pulsante destro del mouse su una funzione e la chiamo livello di riavvio e va bene con gli input
‫correnti.
‫Non ha bisogno di essere puro perché ha l'effetto collaterale di riavviare il livello.
‫Quindi non vorremmo comunque che fosse puro.
‫Quindi è tutto.
‫Riorganizzerò leggermente i miei nodi ed eliminerò il mio nodo di test ed eliminerò la mia funzione di test facendo clic con il pulsante destro del
‫mouse su di esso nei miei progetti e premendo Elimina.
‫E ci siamo procurati un piccolo grafico schematico condensato che in realtà descrive esattamente ciò che il nostro gioco può
‫fare solo a un livello molto alto.
‫Quindi sono contento dei risultati di questo.
‫Sembra che abbiamo un buon ciclo di gioco e ci vediamo alla prossima lezione.