‫Ciao e Benvenuto.
‫In questa lezione, limiteremo effettivamente la quantità di munizioni che abbiamo in modo che una
‫volta esaurite tutte, non possiamo più generare proiettili.
‫Ho finito i proiettili e ricevo persino un messaggio che dice che ho finito le munizioni.
‫Non posso più deporre le uova.
‫Quindi tuffiamoci e vediamo come lo facciamo.
‫Quindi idealmente quello che vogliamo che accada è che quando le munizioni scendono a zero, non siamo più in grado di generare
‫nuovi proiettili.
‫Ma come controlliamo il flusso del nostro codice tramite i valori nelle nostre variabili?
‫Bene, la soluzione a questo enigma è qualcosa chiamato nodo branch.
‫Quindi rami, lettere, controlla se qualcosa è vero o no, e poi fai qualcosa in base al risultato.
‫Quindi potresti avere un nodo di ramo simile a questo che dice Se ho fame, quindi la condizione è che
‫ho fame, quindi mangia cibo spazzatura mentre la moglie non sta guardando.
‫E se ciò non è vero, continua a giocare ai videogiochi.
‫Quindi questi nodi di diramazione ci consentono di fare una cosa se una condizione è vera e un'altra cosa se è
‫falsa.
‫Una di queste opzioni in realtà non potrebbe fare nulla.
‫Quindi potresti connettere solo il falso nodo o potresti connettere solo il vero nodo.
‫O uno di questi funzionerà.
‫Quindi te lo ricorderai.
‫Oppure potresti ricordare che il colore rosso era associato a variabili di tipo booleano in unreal.
‫Allora ricordiamoci cos'è un bool?
‫Un bool è l'abbreviazione di booleano e ci sono tipi che possono memorizzare uno dei due valori true o false,
‫yes o no.
‫Sono spesso usati con istruzioni if o branch.
‫Quindi in futuro andremo in C++, chiameremo branch if istruzioni.
‫Ma è la stessa cosa?
‫È lo stesso concetto.
‫E possono controllare se succede qualcosa o meno e alcuni nodi possono restituire booleani.
‫Quindi che tipo di nodi potrebbero restituire booleani?
‫Che tipo di risposta vogliamo?
‫Bene, quando è che vogliamo permettere che l'attore di spawn si realizzi?
‫Quando vogliamo che venga creato un nuovo proiettile?
‫Vogliamo che venga creato un nuovo proiettile solo se la quantità di munizioni che abbiamo è maggiore di zero.
‫Quindi fortunatamente, se fai clic con il pulsante destro del mouse sul grafico dell'evento e cerchi maggiore, c'è un nodo per
‫quello.
‫Questi tipi di operatori o nodi sono chiamati confronto perché accettano due valori e creano un confronto tra
‫loro e ci consentono di avere una risposta booleana.
‫Così maggiore è un esempio, minore è un altro esempio.
‫Puoi anche vedere questo meno uguale, il che significa che è minore o uguale.
‫C'è anche uguale che non è uguale o non uguale.
‫Se due valori sono uguali, restituisce true.
‫Altrimenti restituisci false.
‫Quindi aggiorniamo un po' il nostro glossario.
‫Abbiamo capito che un ramo è un fare qualcosa o non basarsi su un toro.
‫Abbiamo scoperto che i rialzisti o i booleani sono un tipo di dati sì no e che il confronto è
‫cose come minore di maggiore di uguale, ecc. che restituiscono in modo cruciale un booleano.
‫Quindi proviamo a utilizzare uno di questi confronti.
‫Farò clic con il pulsante destro del mouse e aggiungo il confronto maggiore qui.
‫Quindi controllerò fare clic sulla variabile ammo e trascinarla nel primo nodo del nostro nodo di
‫confronto.
‫E poi puoi vedere che il valore predefinito qui è in realtà maggiore di zero.
‫Quindi è esattamente quello che vogliamo.
‫Abbiamo un nodo che dice Le munizioni sono maggiori di zero e il valore restituito è un booleano che dice sì se lo è
‫e no se non lo è.
‫Quindi quello che vogliamo fare è prendere questo valore di ritorno bool, trascinarlo via e cercare branch.
‫Quindi possiamo aggiungere un nodo branch e si collega automaticamente la condizione di input al booleano che
‫stavamo trascinando.
‫Ora trascinerò indietro il mio evento barra spaziatrice e trascinerò il pin di esecuzione del nodo premuto nell'input per
‫il ramo.
‫Quindi questo eseguirà il nostro ramo.
‫Quindi vogliamo che il ramo, se è vero, vada avanti e generi il proiettile e altrimenti non
‫farà nulla.
‫Quindi proviamo questo.
‫Se premiamo play e poi generiamo molti proiettili, facciamo scendere il nostro valore di proiettile a zero.
‫Puoi vedere che ora, non importa quanto ho colpito la barra spaziatrice, non ricevo più proiettili.
‫Quindi vorrei sfidarti a stampare senza munizioni.
‫Quindi usa il ramo falso in modo da aggiungere un nodo di stampa lì.
‫E fondamentalmente quando abbiamo esaurito le munizioni, vorrei che stampassi le munizioni.
‫Quindi testa il tuo codice e controlla che ciò stia accadendo.
‫Metti in pausa il video e prova.
‫Bene.
‫Ben tornato.
‫Quindi abbiamo questo secondo ramo del nostro nodo di ramo.
‫Trasciniamolo indietro in modo da non incrociare le nostre linee con questi pin di esecuzione.
‫E il ramo falso dovrebbe scendere qui dove eseguirà una stringa di stampa.
‫E la stringa che voglio che stampi sarà semplicemente esaurita.
‫Ora, se andiamo avanti e giochiamo e spariamo tutti e 20 i colpi di munizioni Cannonball, puoi vedere che ogni volta che premo
‫la barra spaziatrice, viene semplicemente stampato il messaggio che ho esaurito le munizioni, dando al giocatore l'indicazione del perché
‫non ci sono più palle che si generano nella scena.
‫Questo è tutto per questa lezione.
‫Ci vediamo nel prossimo.