‫Ciao e Benvenuto.
‫In questa lezione, esamineremo i vettori e in generale le cose più complicate come
‫le strutture in C++ e come possiamo accedere alle singole parti sia per impostare che per ottenerle da una struttura.
‫Immergiamoci.
‫Quindi abbiamo imparato come gestire i tipi di dati di base in C++ e creare variabili e assegnarle e persino eseguire un po'
‫di aritmetica di base con loro.
‫Ma che dire se volessimo occuparci di tipi più complicati come vettori e trasformazioni?
‫Bene, il processo è in realtà molto simile.
‫Iniziamo cancellando parte del codice di test che abbiamo già.
‫Cancellerò tutte le mie proprietà.
‫Per me, questa è la riga 26 fino alla 51.
‫E andrò anche nel file C++ ed eliminerò le righe da 19 a 23, che è dove sto facendo tutto il lavoro
‫con quelle variabili che ho appena eliminato.
‫Quindi ora Begin Play è completamente vuoto e siamo tornati essenzialmente al punto di partenza.
‫Quindi ora quello che voglio fare è aggiungere una nuova proprietà.
‫Quindi tutte le maiuscole vengono nuovamente modificate ovunque e darò a questo il tipo di vettore F nota la maiuscola F maiuscola, la V maiuscola
‫ed è così che trattiamo i vettori con cui ci siamo occupati in Blueprint sono gli
‫stessi vettori sotto il surface, ma è così che lo digitiamo in C++.
‫La F che la precede ci fa semplicemente sapere che questa è una struct allo stesso modo della A che precede
‫la piattaforma mobile.
‫Facci sapere che è un attore.
‫Non è una cosa C++.
‫Questa è una convenzione di denominazione irreale per nominare le diverse classi, strutture e tipi.
‫Quindi quello che faremo è dare a questa variabile il loro nome.
‫E funziona esattamente come se fosse un float o un evento.
‫Possiamo chiamarlo il mio galleggiante, per esempio.
‫Non deve avere spazi.
‫E se dovessimo mettere punto e virgola alla fine della riga qui, allora è tutto.
‫Abbiamo dichiarato una nuova variabile che sarà visibile nel nostro riquadro dei dettagli nell'editor, ma non è abbastanza
‫per me.
‫Vorrei effettivamente dare a questo un valore predefinito diverso da quello predefinito 000.
‫Per farlo, dobbiamo aggiornare il nostro glossario con un nuovo termine.
‫Abbiamo bisogno di un costruttore, che è essenzialmente qualcosa in C++ che crea una nuova struttura o un valore di classe A.
‫Quindi, se dovessimo creare un costruttore per il vettore, il modo in cui funzionerebbe è che vogliamo assegnare un valore in
‫modo da colpire uguale.
‫E in genere quando abbiamo a che fare con numeri interi o float, potremmo semplicemente usare qualcosa come uno o un vero
‫che sono stati incorporati in valori che ci hanno permesso di impostare il valore di quei tipi di base.
‫Ma quando abbiamo tipi più elaborati come uno struct, dobbiamo usare il costruttore e il costruttore avrà
‫sempre lo stesso nome del tipo di dati, quindi sarà vettoriale esattamente lo stesso.
‫E poi apri delle parentesi e dentro le parentesi dai i valori che vuoi.
‫Quindi X, Y e Z sono ciò che costituisce un vettore.
‫Quindi potremmo avere uno, due e tre tutti separati da virgole, quindi chiudere le parentesi e mettere un punto e
‫virgola alla fine della riga.
‫E questo darà un valore predefinito di uno, due e tre in X, Y e Z per questo vettore.
‫Proviamolo.
‫Torna in Unreal e premi il pulsante di compilazione.
‫E una volta completato con successo, possiamo assicurarci di aver selezionato il Moving Platform Act nella nostra struttura e dare
‫un'occhiata al riquadro dei dettagli e vedere che in effetti abbiamo una nuova proprietà chiamata My
‫Float.
‫Gli altri sono stati tolti ei valori nelle sue diverse posizioni, X, Y e Z sono uno, due
‫e tre proprio come ci aspettavamo.
‫Quindi è fantastico.
‫Ma se volessi impadronirmi di questi valori e inserirli magari in un'altra proprietà?
‫Quindi, se dovessi avere un'altra proprietà contrassegnata come aggiunta ovunque in modo da poterla vedere nell'ispettore,
‫ho digitato float chiamato my x e lo imposterò per impostazione predefinita a zero solo per poter vedere che lo stiamo cambiando.
‫E quello che voglio fare è prendere il valore x dal mio float in inizio riproduzione e voglio impostarlo nella
‫mia variabile x.
‫Quindi andiamo al file C++ e iniziamo la riproduzione dopo la riga che dice super grande in gioco, imposteremo
‫la mia X uguale a ciò che vogliamo ottenere qualcosa dal mio vettore, ma non vogliamo l'intero del mio
‫vettore.
‫Sarebbe un errore.
‫Non possiamo impostare un vettore in un float, vogliamo solo la parte x di quel vettore.
‫Bene, per capirlo, dobbiamo capire il concetto di operatore.
‫Gli operatori sono simboli in C++ che fanno qualcosa.
‫Ne abbiamo già visti alcuni.
‫Abbiamo visto l'operatore più, che aggiunge due cose insieme.
‫C'è anche un operatore meno.
‫C'è l'operatore di uguaglianza, l'operatore di uguale, che assegna.
‫Le cose.
‫Quindi lo stiamo usando proprio qui sulla riga 19.
‫Questo è un operatore che sta assegnando il valore del mio vettore alla mia X.
‫E poi abbiamo un altro operatore, di cui abbiamo bisogno per sapere qual è l'operatore DOT.
‫È un operatore che ottiene qualcosa da una struttura o una classe.
‫Quindi vogliamo ottenere la X dall'interno del mio vettore.
‫Quindi usiamo un operatore punto, facciamo punto x ora non usiamo uno spazio qui tra il mio vettore e x.
‫Li lasciamo semplicemente funzionare insieme, così è così che in genere lasciamo le cose anche se non è necessariamente un
‫errore inserire degli spazi.
‫Quindi abbiamo il mio vettore punto x dovrebbe ottenere il valore x del vettore e inserirlo nel mio x float.
‫Quindi mettiamo il punto e virgola alla fine della riga e come al solito sto ignorando gli scarabocchi rossi perché a volte
‫richiedono molto tempo per l'aggiornamento ea volte non sono corretti.
‫E poi entreremo nella codifica in tempo reale e premiamo il pulsante che ricompila e controlliamo solo
‫se otteniamo un risultato positivo.
‫E no, vedi, abbiamo un errore di compilazione.
‫E se guardi l'errore che dice che il mio vettore è un identificatore non dichiarato ed è perché ho commesso un errore
‫di battitura, ho chiamato il vettore F un mio float e probabilmente stai urlando ai tuoi schermi.
‫Ma è bene mostrarti che anche gli esperti, i programmatori, commettono errori.
‫Volevamo chiamarlo il mio vettore, quindi tornerò al file principale e lo
‫rinominerò in mio vettore, il che dovrebbe rimuovere il problema nel mio cervello.
‫Andiamo avanti e facciamo nuovamente clic sul pulsante di compilazione.
‫E questo ti dà solo un assaggio di com'è quando commetti errori, ottieni un errore di compilazione.
‫Succede tutto il tempo.
‫In effetti, è molto raro non commettere errori.
‫La prima volta che fai qualcosa, andiamo avanti e premiamo play e vedremo quale valore otteniamo nel
‫riquadro dei dettagli.
‫Ora puoi vedere che la mia x è stata impostata su uno perché quello era il valore nella componente x della variabile my
‫vector.
‫Quindi vorrei sfidarti a impostare un valore vettoriale.
‫Abbiamo ottenuto valori dal vettore.
‫Ora proviamo a impostarli.
‫Fondamentalmente prova a usare l'operatore punto per impostare un valore.
‫Prova a capovolgere i due lati di quello uguale in modo da avere invece la mia X a destra e il mio vettore
‫a sinistra.
‫E se cambiassi in Y o z?
‫C'è qualche differenza che tira video e prova?
‫Bene.
‫Ben tornato.
‫Quindi proverò a capovolgere questi due.
‫Passiamo al C++ e iniziamo invece a giocare.
‫Quello che sto per dire è che il mio vettore punto y è uguale alla mia x e quindi metti punto e virgola alla fine della linea.
‫Ed è così che possiamo impostare i valori anche all'interno di una struttura.
‫Quindi torniamo a Unreal e ricompiliamo e poi possiamo andare avanti e impostare un valore nella mia X.
‫Metto qui il valore di cinque.
‫Quindi andrò avanti e giocherò e darò un'occhiata al riquadro dei dettagli per la piattaforma mobile.
‫E abbastanza sicuro, il valore y del mio vettore è stato aggiornato in inizio gioco dal valore nella mia x.
‫Quindi congratulazioni.
‫Abbiamo visto come usare tipi più complicati, i tipi composti come gli struct in C++.
‫Ci vediamo alla prossima lezione.