﻿1
00:00:04,530 --> 00:00:05,550
‫Ciao e Benvenuto.

2
00:00:05,550 --> 00:00:12,300
‫In questa lezione, aggiungeremo variabili al nostro attore della piattaforma mobile in modo che possiamo

3
00:00:12,300 --> 00:00:16,500
‫vederle nell'editor e lo farò interamente in C++.

4
00:00:16,500 --> 00:00:17,490
‫Immergiamoci.

5
00:00:18,420 --> 00:00:23,610
‫Quindi il primo concetto che impareremo in C++ è come creare due variabili.

6
00:00:23,610 --> 00:00:25,860
‫Li abbiamo visti prima in Blueprint.

7
00:00:25,860 --> 00:00:29,850
‫Sappiamo che sono come scatole in cui possiamo inserire valori e che hanno tipi.

8
00:00:30,330 --> 00:00:34,860
‫Bene, tutto ciò si applica ancora in C++, tranne come li creiamo.

9
00:00:34,860 --> 00:00:39,360
‫Quindi in precedenza, quando lo facevamo in Blueprint, se aprivo i progetti di livello

10
00:00:39,360 --> 00:00:45,120
‫superiore solo per mostrarti e rinfrescarti la memoria, allora avevamo questo mio riquadro del progetto ed era lì che

11
00:00:45,120 --> 00:00:48,060
‫aggiungevamo cose come funzioni e variabili e così via.

12
00:00:48,420 --> 00:00:51,300
‫E poi abbiamo avuto il grafico degli eventi in cui programmiamo effettivamente le cose.

13
00:00:51,600 --> 00:00:53,940
‫Ora C++ è molto simile.

14
00:00:53,940 --> 00:01:00,240
‫Abbiamo due posizioni diverse per eseguire la configurazione delle nostre variabili e funzioni e quindi

15
00:01:00,240 --> 00:01:02,160
‫quando eseguiamo effettivamente l'implementazione.

16
00:01:02,160 --> 00:01:07,410
‫Quindi andiamo al codice di Visual Studio e apriamo il progetto di codice di Visual Studio e diamo un'occhiata.

17
00:01:07,410 --> 00:01:10,620
‫Nella barra di sinistra c'è un tap Explorer.

18
00:01:10,620 --> 00:01:16,680
‫Vai e aprilo e puoi vedere fondamentalmente una mappa gerarchica dei tuoi file.

19
00:01:16,680 --> 00:01:21,780
‫Quindi abbiamo al livello più alto EUI cinque un assalto a ostacoli o il nostro progetto qui.

20
00:01:22,200 --> 00:01:24,270
‫Puoi aprirlo e puoi vedere alcune delle cartelle qui.

21
00:01:24,270 --> 00:01:28,170
‫Quella che ci interessa è la cartella dei sorgenti, che è dove possiamo trovare tutto il nostro C++.

22
00:01:28,500 --> 00:01:34,740
‫Poi lì c'è la cartella dell'assalto agli ostacoli e poi ci sono due file con il nome della piattaforma

23
00:01:34,740 --> 00:01:35,280
‫mobile.

24
00:01:35,280 --> 00:01:38,370
‫Uno è un file punto h e uno è un punto CP.

25
00:01:38,700 --> 00:01:44,010
‫Il punto h sta per header e CP sta per C++.

26
00:01:44,400 --> 00:01:52,140
‫Quindi è essenzialmente un po' come avere un mio progetto in cui è possibile aggiungere le funzioni, le variabili e le cose

27
00:01:52,140 --> 00:01:56,010
‫che risiedono nel file di intestazione, quel file punto h.

28
00:01:56,370 --> 00:02:01,230
‫E poi abbiamo il punto CP in cui possiamo essenzialmente apprezzare il grafico degli eventi, possiamo

29
00:02:01,230 --> 00:02:02,790
‫effettivamente eseguire la codifica stessa.

30
00:02:03,420 --> 00:02:10,380
‫Quindi apriremo la piattaforma mobile punto H perché vogliamo aggiungere una nuova variabile e noterai che c'è un

31
00:02:10,380 --> 00:02:12,270
‫sacco di cose qui.

32
00:02:12,270 --> 00:02:18,150
‫Non entreremo nei dettagli di questo, ma la cosa più interessante è che sta definendo cosa

33
00:02:18,150 --> 00:02:20,880
‫significa essere una classe di piattaforma mobile.

34
00:02:20,880 --> 00:02:23,340
‫Puoi vedere un paio di parole chiave qui che sono interessanti.

35
00:02:23,340 --> 00:02:25,080
‫C'è una parola chiave di classe sulla riga dieci.

36
00:02:25,410 --> 00:02:32,100
‫Ci sono le piattaforme mobili che sono precedute da una A, il che significa che è un attore, e

37
00:02:32,100 --> 00:02:36,060
‫poi ci sono alcune parentesi graffe sulle righe 11 e 26.

38
00:02:36,360 --> 00:02:42,510
‫E tra queste parentesi graffe abbinate, puoi vedere che c'è la dichiarazione di alcune cose.

39
00:02:42,510 --> 00:02:45,960
‫Ci sono funzioni qui ed è qui che possiamo anche inserire le nostre variabili.

40
00:02:46,530 --> 00:02:49,650
‫Quindi aggiungeremo le nostre variabili alla fine di questa dichiarazione.

41
00:02:49,650 --> 00:02:57,000
‫Quindi, appena prima di chiudere quella parentesi graffa, possiamo aggiungere alcune nuove righe e iniziare a scrivere nuove variabili

42
00:02:57,000 --> 00:02:57,600
‫qui.

43
00:02:58,200 --> 00:03:02,910
‫E proprio come in una variabile nel progetto, abbiamo un tipo e abbiamo un nome di variabile e possiamo

44
00:03:02,910 --> 00:03:04,260
‫anche dargli un valore predefinito.

45
00:03:04,740 --> 00:03:13,500
‫Quindi la prima cosa è che vogliamo forse creare un numero intero e in C++, in Unreal C++, un intero è indicato con la

46
00:03:13,500 --> 00:03:20,250
‫parola chiave INT 32 che sostanzialmente ci dice quanto è grande un valore che possiamo memorizzare qui.

47
00:03:20,580 --> 00:03:22,410
‫E no, non sono 32.

48
00:03:22,410 --> 00:03:23,760
‫È molto, molto più grande di così.

49
00:03:23,760 --> 00:03:28,380
‫32 è il numero di bit allocati all'intero.

50
00:03:28,740 --> 00:03:33,690
‫Ora dobbiamo scegliere un nome di variabile e, proprio come le classi, non possiamo avere spazi nei nostri nomi di

51
00:03:33,690 --> 00:03:34,020
‫variabile.

52
00:03:34,290 --> 00:03:38,610
‫Quindi usiamo invece le lettere maiuscole per denotare le nostre parole.

53
00:03:38,610 --> 00:03:41,490
‫Quindi lo chiamerò il mio avviso int.

54
00:03:41,490 --> 00:03:44,220
‫Sto capitalizzando entrambi gli inizi di quelle parole.

55
00:03:44,640 --> 00:03:50,670
‫Quindi posso dargli un valore predefinito e lo facciamo con un segno di uguale in modo da avere uguali,

56
00:03:50,670 --> 00:03:53,760
‫quindi possiamo dargli un valore come 99, ad esempio.

57
00:03:54,240 --> 00:03:59,850
‫Ora nota che sto mettendo degli spazi dopo il mio e prima del mio segno di uguale.

58
00:03:59,850 --> 00:04:04,110
‫In realtà non è strettamente necessario, ma lo rende più facile e piacevole da leggere.

59
00:04:04,110 --> 00:04:10,980
‫Quindi lo includo anche se ovviamente hai bisogno di uno spazio tra M32 e il nome effettivo dell'intero.

60
00:04:11,010 --> 00:04:12,450
‫Senza quello, le cose non funzionano.

61
00:04:13,050 --> 00:04:18,180
‫E poi per concludere questa dichiarazione, devi mettere un punto e virgola alla fine della riga per

62
00:04:18,180 --> 00:04:20,340
‫dire a C++ che hai finito.

63
00:04:20,460 --> 00:04:25,980
‫Il fatto che ci siano nuove righe e che ci siano spazi e tabulazioni, tutto questo in realtà non ha importanza

64
00:04:25,980 --> 00:04:26,760
‫per C++.

65
00:04:26,760 --> 00:04:30,330
‫Potresti eseguire tutte queste cose insieme e questo sarebbe sempre lo stesso.

66
00:04:30,330 --> 00:04:34,200
‫Potrei eliminare gli spazi qui che funzionerebbero ancora bene.

67
00:04:34,200 --> 00:04:37,380
‫Per quanto riguarda il C++, tutto questo è perfettamente valido.

68
00:04:37,380 --> 00:04:40,290
‫C++ è davvero orribile, orribile da leggere.

69
00:04:40,890 --> 00:04:46,290
‫Quindi quello che facciamo è mantenere questo livello di rientranza con un tocco e manteniamo anche questo livello di spaziatura solo

70
00:04:46,290 --> 00:04:47,790
‫per la nostra sanità mentale.

71
00:04:48,510 --> 00:04:52,350
‫Ora questo non è attualmente visibile nell'editor del progetto.

72
00:04:52,350 --> 00:04:57,480
‫Per renderlo visibile, dobbiamo avvisare Unreal che esiste una variabile che dovrebbe visualizzare

73
00:04:57,480 --> 00:04:58,980
‫come facciamo noi.

74
00:04:58,980 --> 00:05:03,780
‫Questo è nella riga precedente, digitiamo la tua proprietà in maiuscolo.

75
00:05:04,360 --> 00:05:11,110
‫Quindi apri le parentesi e quindi usiamo il nostro cosiddetto caso cammello, in pratica dove scriviamo in maiuscolo la

76
00:05:11,110 --> 00:05:17,410
‫prima lettera di ogni parola che scriviamo edit ovunque in questo modo, quindi chiudiamo le parentesi.

77
00:05:17,420 --> 00:05:19,360
‫Non c'è bisogno di un punto e virgola alla fine di questa riga.

78
00:05:19,360 --> 00:05:25,090
‫Non è corretto, perché in realtà fa parte della stessa dichiarazione dell'inserto.

79
00:05:25,090 --> 00:05:32,200
‫Sei sulla riga sottostante, ma li mettiamo su righe separate solo per rendere la vita più facile per la lettura di questo.

80
00:05:32,650 --> 00:05:39,040
‫Quindi ti abbiamo modificato la proprietà ovunque in 30 fino alla mia fine e poi segno di uguale e poi 99.

81
00:05:39,040 --> 00:05:42,730
‫Ed è importante salvare i file qui per impostazione predefinita.

82
00:05:42,730 --> 00:05:44,830
‫Devi premere il controllo per farlo.

83
00:05:45,100 --> 00:05:50,680
‫Se scorri il menu file, puoi premere il salvataggio automatico qui come opzione in modo da non dover premere salva

84
00:05:50,680 --> 00:05:52,390
‫ogni volta che cambi le cose.

85
00:05:52,870 --> 00:05:53,770
‫Ora è quello che faccio.

86
00:05:53,830 --> 00:06:00,100
‫Quindi, fatto ciò, potremmo andare avanti e chiudere la ricompilazione dell'editor e riaprirlo e avremmo

87
00:06:00,100 --> 00:06:03,040
‫una nuova variabile sulla nostra piattaforma mobile.

88
00:06:03,040 --> 00:06:08,500
‫Attore Ma è un po' una seccatura se dovessimo chiudere l'editor ogni volta che cambiavamo il codice.

89
00:06:08,500 --> 00:06:11,860
‫Quindi c'è una funzionalità in Unreal chiamata live coding.

90
00:06:12,200 --> 00:06:18,130
‫Basta andare a chiudere i progetti di livello e mostrarti che c'è un pulsante in basso a destra

91
00:06:18,130 --> 00:06:21,940
‫che sembra una serie di cubi che si dissolvono in lontananza.

92
00:06:21,940 --> 00:06:26,230
‫Se ci passi sopra, dice re compila e ricarica il codice C++ per i giochi al volo.

93
00:06:26,680 --> 00:06:35,290
‫Fare clic su quel pulsante e verrà visualizzato un terminale con un registro di messaggi che sono i risultati della compilazione

94
00:06:35,290 --> 00:06:36,130
‫del codice.

95
00:06:36,670 --> 00:06:41,110
‫Ora, questo funzionerà molto più velocemente di quanto non facesse in precedenza perché non è la prima volta che viene

96
00:06:41,590 --> 00:06:45,970
‫eseguito e, quando sarà completo, ti darà una notifica che ti dice che la codifica live è riuscita.

97
00:06:46,540 --> 00:06:53,620
‫Ora è importante che se la codifica in tempo reale non ha avuto successo, copi i risultati del log che precedono l'errore e

98
00:06:53,620 --> 00:06:59,470
‫li pubblichi nelle domande e risposte se hai bisogno di chiedere aiuto, ma anche ricontrolla e assicurati che

99
00:06:59,470 --> 00:07:03,070
‫la tua sintassi corrisponde a ciò che ho digitato sullo schermo.

100
00:07:03,550 --> 00:07:09,850
‫Spesso scopriremo che è semplicemente un errore di battitura che le persone hanno commesso e per questo motivo non viene

101
00:07:09,850 --> 00:07:10,360
‫compilato.

102
00:07:10,390 --> 00:07:17,560
‫Prestiamo molta attenzione alla tua capitalizzazione, poiché la maiuscola è spesso molto importante e anche il tuo punto

103
00:07:17,560 --> 00:07:18,490
‫e virgola.

104
00:07:18,490 --> 00:07:20,680
‫Le persone spesso dimenticano di includerli.

105
00:07:21,220 --> 00:07:26,170
‫Quindi ora vorrei sfidarti ad aggiungere la tua variabile su una nuova riga in quell'intestazione del file.

106
00:07:26,170 --> 00:07:30,130
‫Quindi rendilo un tipo float o bull e assegnagli un nome diverso.

107
00:07:30,130 --> 00:07:31,990
‫Le variabili non possono condividere lo stesso nome.

108
00:07:31,990 --> 00:07:32,860
‫Devono essere diversi.

109
00:07:33,400 --> 00:07:34,930
‫Dagli un valore predefinito.

110
00:07:34,930 --> 00:07:38,050
‫Quindi, se è un float, il valore predefinito deve essere del formato.

111
00:07:38,050 --> 00:07:39,700
‫Qualcosa punto, qualcosa, qualcosa.

112
00:07:40,090 --> 00:07:42,940
‫Se è un booleano, deve essere vero o falso.

113
00:07:42,940 --> 00:07:51,040
‫Tutte le lettere minuscole vengono compilate gratuitamente utilizzando la codifica live e quindi vedi se ricevi errori e se torni indietro e vedi

114
00:07:51,040 --> 00:07:55,000
‫come lo faccio per ricontrollare di averlo scritto nel modo giusto.

115
00:07:55,450 --> 00:07:57,010
‫Metti in pausa il video e prova.

116
00:08:00,410 --> 00:08:00,830
‫Bene.

117
00:08:00,830 --> 00:08:01,520
‫Ben tornato.

118
00:08:02,090 --> 00:08:06,380
‫Quindi torniamo al codice di Visual Studio e aggiungeremo una variabile.

119
00:08:06,390 --> 00:08:09,380
‫Quindi, prima di tutto, lo trasformeremo in una nuova proprietà.

120
00:08:09,380 --> 00:08:13,370
‫Sono le parentesi aperte, una modifica ovunque e le parentesi chiuse.

121
00:08:13,370 --> 00:08:14,240
‫E su una nuova linea.

122
00:08:14,240 --> 00:08:21,260
‫Lo farò diventare un tipo float e lo chiameremo i miei float solo per mantenere la tradizione qui.

123
00:08:21,740 --> 00:08:27,260
‫E gli daremo un valore predefinito di 5. 99 e quindi metti un punto e virgola alla

124
00:08:27,290 --> 00:08:33,080
‫fine della riga, assicurati di avere tutti i componenti di ciò che ho appena digitato qui, quindi aggiungerò

125
00:08:33,080 --> 00:08:34,100
‫altri spazi.

126
00:08:34,100 --> 00:08:36,980
‫Si noti che sto aggiungendo più nuove righe.

127
00:08:36,980 --> 00:08:38,900
‫Non importa quante nuove righe hai.

128
00:08:39,170 --> 00:08:40,640
‫Lo spazio bianco non ha importanza.

129
00:08:40,880 --> 00:08:44,480
‫Come ho detto, allora avremo di nuovo una nuova proprietà.

130
00:08:44,900 --> 00:08:51,800
‫Aggiungilo ovunque che sarà di tipo bool e lo chiamerò il mio bool e gli darò il valore predefinito di

131
00:08:51,800 --> 00:08:55,580
‫true e inserirò un punto e virgola alla fine lì.

132
00:08:55,820 --> 00:08:58,310
‫Ora non devi salvare se hai salvato automaticamente, ma lo fai.

133
00:08:58,310 --> 00:09:01,100
‫In caso contrario, torniamo nell'editor.

134
00:09:01,190 --> 00:09:08,780
‫Premiamo il pulsante di codifica dal vivo in basso a destra e il registro verrà visualizzato e speriamo che riesca, cosa che

135
00:09:09,290 --> 00:09:10,670
‫ha fatto per me.

136
00:09:10,670 --> 00:09:16,460
‫Ma voglio solo mostrarti cosa accadrebbe se avessi commesso un errore, come lasciare fuori il punto e virgola e

137
00:09:16,460 --> 00:09:20,240
‫la fine di questa riga invece di un bel verde rassicurante.

138
00:09:20,240 --> 00:09:25,310
‫Alla fine del registro verrà visualizzata invece una build rossa non riuscita.

139
00:09:25,670 --> 00:09:31,480
‫Quindi questo è importante che se ottieni una build, fallisci, per prima cosa, vai a controllare il tuo

140
00:09:31,490 --> 00:09:38,000
‫codice, assicurati che corrisponda al mio, perché come ho detto, spesso è solo un errore di battitura e, in caso

141
00:09:38,000 --> 00:09:41,960
‫contrario, copia questo e metti nelle domande e risposte e chiedi aiuto.

142
00:09:42,410 --> 00:09:49,130
‫Detto questo, ora correggerò il mio codice e lo ricompilerò, e quando ciò avrà esito positivo, posso chiudere

143
00:09:49,130 --> 00:09:56,120
‫il registro e posso cercare nello schema la piattaforma mobile e posso selezionare l'attore della piattaforma mobile, guardare in il

144
00:09:56,120 --> 00:10:00,680
‫riquadro dei dettagli e vedere tutte le variabili che ho creato lì.

145
00:10:00,680 --> 00:10:06,770
‫My int, my float e my bool e i valori predefiniti che li abbiamo dati lì.

146
00:10:07,160 --> 00:10:10,010
‫Ora vale la pena notare che questi sono davvero solo valori predefiniti.

147
00:10:10,010 --> 00:10:16,670
‫Quindi, se dovessi sovrascrivere quei valori nell'editor, in Blueprint o nel livello, e poi cambiarli in

148
00:10:16,670 --> 00:10:21,050
‫C++, le modifiche in C++ non avranno più effetto.

149
00:10:21,050 --> 00:10:22,430
‫Erano solo valori predefiniti.

150
00:10:22,670 --> 00:10:28,250
‫Quindi, se hai apportato modifiche in Blueprint, ciò ha la precedenza e sovrascrive tutto ciò che hai fatto in C++.

151
00:10:28,580 --> 00:10:29,330
‫Roba fantastica.

152
00:10:29,330 --> 00:10:35,360
‫Abbiamo creato le nostre prime variabili, il nostro primo codice in C++ e l'abbiamo introdotto usando il live coding.

153
00:10:35,360 --> 00:10:36,980
‫Ci vediamo alla prossima lezione.

