﻿1
00:00:04,510 --> 00:00:05,470
‫Ciao e Benvenuto.

2
00:00:05,470 --> 00:00:12,010
‫In questa lezione, limiteremo effettivamente la quantità di munizioni che abbiamo in modo che una

3
00:00:12,010 --> 00:00:16,060
‫volta esaurite tutte, non possiamo più generare proiettili.

4
00:00:16,360 --> 00:00:20,230
‫Ho finito i proiettili e ricevo persino un messaggio che dice che ho finito le munizioni.

5
00:00:20,230 --> 00:00:22,090
‫Non posso più deporre le uova.

6
00:00:22,390 --> 00:00:24,370
‫Quindi tuffiamoci e vediamo come lo facciamo.

7
00:00:25,600 --> 00:00:33,940
‫Quindi idealmente quello che vogliamo che accada è che quando le munizioni scendono a zero, non siamo più in grado di generare

8
00:00:33,940 --> 00:00:34,900
‫nuovi proiettili.

9
00:00:34,900 --> 00:00:42,520
‫Ma come controlliamo il flusso del nostro codice tramite i valori nelle nostre variabili?

10
00:00:42,820 --> 00:00:46,930
‫Bene, la soluzione a questo enigma è qualcosa chiamato nodo branch.

11
00:00:47,260 --> 00:00:54,280
‫Quindi rami, lettere, controlla se qualcosa è vero o no, e poi fai qualcosa in base al risultato.

12
00:00:54,580 --> 00:01:00,730
‫Quindi potresti avere un nodo di ramo simile a questo che dice Se ho fame, quindi la condizione è che

13
00:01:00,730 --> 00:01:04,510
‫ho fame, quindi mangia cibo spazzatura mentre la moglie non sta guardando.

14
00:01:04,750 --> 00:01:08,410
‫E se ciò non è vero, continua a giocare ai videogiochi.

15
00:01:08,410 --> 00:01:14,440
‫Quindi questi nodi di diramazione ci consentono di fare una cosa se una condizione è vera e un'altra cosa se è

16
00:01:14,440 --> 00:01:14,800
‫falsa.

17
00:01:15,040 --> 00:01:17,950
‫Una di queste opzioni in realtà non potrebbe fare nulla.

18
00:01:17,950 --> 00:01:22,840
‫Quindi potresti connettere solo il falso nodo o potresti connettere solo il vero nodo.

19
00:01:23,110 --> 00:01:25,330
‫O uno di questi funzionerà.

20
00:01:25,600 --> 00:01:27,460
‫Quindi te lo ricorderai.

21
00:01:27,460 --> 00:01:35,020
‫Oppure potresti ricordare che il colore rosso era associato a variabili di tipo booleano in unreal.

22
00:01:35,020 --> 00:01:37,420
‫Allora ricordiamoci cos'è un bool?

23
00:01:38,020 --> 00:01:44,290
‫Un bool è l'abbreviazione di booleano e ci sono tipi che possono memorizzare uno dei due valori true o false,

24
00:01:44,290 --> 00:01:45,430
‫yes o no.

25
00:01:45,820 --> 00:01:49,360
‫Sono spesso usati con istruzioni if o branch.

26
00:01:49,360 --> 00:01:53,560
‫Quindi in futuro andremo in C++, chiameremo branch if istruzioni.

27
00:01:53,560 --> 00:01:55,090
‫Ma è la stessa cosa?

28
00:01:55,090 --> 00:01:56,110
‫È lo stesso concetto.

29
00:01:56,230 --> 00:02:01,870
‫E possono controllare se succede qualcosa o meno e alcuni nodi possono restituire booleani.

30
00:02:01,870 --> 00:02:04,300
‫Quindi che tipo di nodi potrebbero restituire booleani?

31
00:02:04,300 --> 00:02:06,580
‫Che tipo di risposta vogliamo?

32
00:02:06,580 --> 00:02:13,420
‫Bene, quando è che vogliamo permettere che l'attore di spawn si realizzi?

33
00:02:13,420 --> 00:02:16,450
‫Quando vogliamo che venga creato un nuovo proiettile?

34
00:02:16,630 --> 00:02:23,890
‫Vogliamo che venga creato un nuovo proiettile solo se la quantità di munizioni che abbiamo è maggiore di zero.

35
00:02:24,160 --> 00:02:31,600
‫Quindi fortunatamente, se fai clic con il pulsante destro del mouse sul grafico dell'evento e cerchi maggiore, c'è un nodo per

36
00:02:31,600 --> 00:02:32,050
‫quello.

37
00:02:32,060 --> 00:02:40,570
‫Questi tipi di operatori o nodi sono chiamati confronto perché accettano due valori e creano un confronto tra

38
00:02:40,570 --> 00:02:45,010
‫loro e ci consentono di avere una risposta booleana.

39
00:02:45,010 --> 00:02:48,880
‫Così maggiore è un esempio, minore è un altro esempio.

40
00:02:48,880 --> 00:02:52,660
‫Puoi anche vedere questo meno uguale, il che significa che è minore o uguale.

41
00:02:52,960 --> 00:02:58,390
‫C'è anche uguale che non è uguale o non uguale.

42
00:02:58,630 --> 00:03:01,180
‫Se due valori sono uguali, restituisce true.

43
00:03:01,180 --> 00:03:02,680
‫Altrimenti restituisci false.

44
00:03:02,980 --> 00:03:04,990
‫Quindi aggiorniamo un po' il nostro glossario.

45
00:03:04,990 --> 00:03:09,280
‫Abbiamo capito che un ramo è un fare qualcosa o non basarsi su un toro.

46
00:03:09,520 --> 00:03:15,490
‫Abbiamo scoperto che i rialzisti o i booleani sono un tipo di dati sì no e che il confronto è

47
00:03:15,490 --> 00:03:20,740
‫cose come minore di maggiore di uguale, ecc. che restituiscono in modo cruciale un booleano.

48
00:03:21,010 --> 00:03:24,730
‫Quindi proviamo a utilizzare uno di questi confronti.

49
00:03:24,730 --> 00:03:30,550
‫Farò clic con il pulsante destro del mouse e aggiungo il confronto maggiore qui.

50
00:03:30,820 --> 00:03:36,430
‫Quindi controllerò fare clic sulla variabile ammo e trascinarla nel primo nodo del nostro nodo di

51
00:03:36,430 --> 00:03:36,940
‫confronto.

52
00:03:37,210 --> 00:03:40,870
‫E poi puoi vedere che il valore predefinito qui è in realtà maggiore di zero.

53
00:03:40,870 --> 00:03:42,310
‫Quindi è esattamente quello che vogliamo.

54
00:03:42,310 --> 00:03:49,450
‫Abbiamo un nodo che dice Le munizioni sono maggiori di zero e il valore restituito è un booleano che dice sì se lo è

55
00:03:49,450 --> 00:03:51,550
‫e no se non lo è.

56
00:03:51,940 --> 00:03:57,340
‫Quindi quello che vogliamo fare è prendere questo valore di ritorno bool, trascinarlo via e cercare branch.

57
00:03:57,670 --> 00:04:03,730
‫Quindi possiamo aggiungere un nodo branch e si collega automaticamente la condizione di input al booleano che

58
00:04:03,730 --> 00:04:04,750
‫stavamo trascinando.

59
00:04:04,870 --> 00:04:14,410
‫Ora trascinerò indietro il mio evento barra spaziatrice e trascinerò il pin di esecuzione del nodo premuto nell'input per

60
00:04:14,410 --> 00:04:15,520
‫il ramo.

61
00:04:15,520 --> 00:04:17,830
‫Quindi questo eseguirà il nostro ramo.

62
00:04:18,130 --> 00:04:25,060
‫Quindi vogliamo che il ramo, se è vero, vada avanti e generi il proiettile e altrimenti non

63
00:04:25,060 --> 00:04:25,930
‫farà nulla.

64
00:04:26,170 --> 00:04:27,130
‫Quindi proviamo questo.

65
00:04:27,130 --> 00:04:33,280
‫Se premiamo play e poi generiamo molti proiettili, facciamo scendere il nostro valore di proiettile a zero.

66
00:04:33,280 --> 00:04:39,940
‫Puoi vedere che ora, non importa quanto ho colpito la barra spaziatrice, non ricevo più proiettili.

67
00:04:40,300 --> 00:04:43,690
‫Quindi vorrei sfidarti a stampare senza munizioni.

68
00:04:44,020 --> 00:04:49,060
‫Quindi usa il ramo falso in modo da aggiungere un nodo di stampa lì.

69
00:04:49,390 --> 00:04:54,280
‫E fondamentalmente quando abbiamo esaurito le munizioni, vorrei che stampassi le munizioni.

70
00:04:54,280 --> 00:04:56,800
‫Quindi testa il tuo codice e controlla che ciò stia accadendo.

71
00:04:57,130 --> 00:04:58,930
‫Metti in pausa il video e prova.

72
00:05:02,260 --> 00:05:02,850
‫Bene.

73
00:05:02,860 --> 00:05:03,760
‫Ben tornato.

74
00:05:03,940 --> 00:05:09,220
‫Quindi abbiamo questo secondo ramo del nostro nodo di ramo.

75
00:05:09,220 --> 00:05:13,360
‫Trasciniamolo indietro in modo da non incrociare le nostre linee con questi pin di esecuzione.

76
00:05:13,660 --> 00:05:17,950
‫E il ramo falso dovrebbe scendere qui dove eseguirà una stringa di stampa.

77
00:05:18,310 --> 00:05:23,800
‫E la stringa che voglio che stampi sarà semplicemente esaurita.

78
00:05:24,010 --> 00:05:31,390
‫Ora, se andiamo avanti e giochiamo e spariamo tutti e 20 i colpi di munizioni Cannonball, puoi vedere che ogni volta che premo

79
00:05:31,390 --> 00:05:37,750
‫la barra spaziatrice, viene semplicemente stampato il messaggio che ho esaurito le munizioni, dando al giocatore l'indicazione del perché

80
00:05:37,750 --> 00:05:41,290
‫non ci sono più palle che si generano nella scena.

81
00:05:41,530 --> 00:05:42,730
‫Questo è tutto per questa lezione.

82
00:05:42,760 --> 00:05:44,080
‫Ci vediamo nel prossimo.

