‫Ciao e Benvenuto.
‫In questa lezione, calcoleremo la distanza che la nostra piattaforma si è spostata dalla sua
‫posizione iniziale e la visualizzeremo nell'editor per controllarla ed eseguirne il debug.
‫Immergiamoci e vediamo come è fatto.
‫Quindi attualmente abbiamo visto che possiamo implementare la prima parte dello pseudocodice.
‫Abbiamo scritto che la piattaforma MOVE in avanti ora funziona.
‫Quindi è la piattaforma di invio che non abbiamo ancora trattato.
‫E puoi vedere il primo commento che c'è controlla fino a che punto ci siamo spostati.
‫Quindi, come possiamo controllare quanto ci siamo spostati dall'inizio del gioco?
‫Bene, ci sono due componenti in questo.
‫Prima di tutto, dobbiamo capire la differenza tra due vettori e la distanza tra i
‫due.
‫E l'altra cosa che dobbiamo capire è come tenere traccia di dove siamo partiti.
‫Bene, la prima parte è relativamente semplice.
‫Per fortuna, tutto ciò che dobbiamo fare è passare alla nostra piattaforma mobile Dot H e vogliamo creare una nuova
‫variabile qui, ma non una che sia esposta ai progetti.
‫Per una volta, questa è solo una variabile solo per C++, quindi non è necessario inserire una nuova proprietà sopra di essa.
‫E sarà un vettore F chiamato posizione iniziale o posizione per usare la stessa terminologia usata in
‫Unreal.
‫E non lo imposteremo a nessun valore a priori perché non avrebbe alcun senso.
‫La posizione di partenza.
‫Non lo sappiamo ancora, ma lo sapremo in Begin Play.
‫Quindi è quello che faremo.
‫Passiamo al C++ Olympic In-Play dopo la super scommessa in-play.
‫Imposteremo la nostra posizione di partenza in modo da poter dire posizione di partenza.
‫Ricordo che non mettiamo il vettore qui davanti a questo perché stiamo cercando di fare riferimento a una
‫variabile di classe piuttosto che creare una variabile locale.
‫Quindi imposteremo questa posizione di inizio uguale alla posizione di GET Act perché all'inizio del
‫gioco l'attore è all'inizio.
‫Quindi abbiamo impostato la posizione di inizio e questo ora significa che abbiamo una variabile che dura per l'intera istanza
‫di questa classe, quindi possiamo usarla e prenderla anche noi.
‫E abbiamo una variabile che possiamo provare a trovare la distanza tra.
‫Possiamo dire, Ehi, fino a che punto la posizione attuale si è discostata da quella posizione iniziale?
‫Bene, per poterlo fare, ho bisogno di aggiungere un po' più di sintassi C++ al nostro glossario.
‫In primo luogo, sarà chiamato Scope Resolution Operator, che è un po' confuso, ma in realtà è
‫questo operatore con due due punti che abbiamo già visto in un file C++.
‫Ed essenzialmente tutto ciò che fa è che ti consente di guardare all'interno di una classe allo stesso modo dell'operatore DOT, ti
‫consente di guardare all'interno di un'istanza di una classe.
‫Quindi diamo un'occhiata a questo un po 'più in dettaglio.
‫Sappiamo che la funzione tick appartiene alla classe della piattaforma mobile, ma non appartiene a un'istanza particolare
‫di quella classe.
‫Tutte le istanze della piattaforma mobile condividono la stessa implementazione di tick, che è ciò che significa essere una
‫classe.
‫Quindi l'operatore di risoluzione dell'ambito qui tra la piattaforma mobile e Tick ci sta effettivamente dicendo che questo è il segno
‫di spunta che appartiene alla classe della piattaforma mobile.
‫Allo stesso modo in cui in precedenza stavamo usando l'operatore punto per ottenere la x che appartiene ad esempio alla
‫posizione corrente.
‫La posizione corrente era un'istanza particolare di un vettore F, ma possiamo usarla per ottenere funzioni che appartengono
‫alla classe vector e non vengono eseguite su una particolare istanza di quella classe.
‫Quindi un esempio è ottenere la distanza tra due vettori.
‫Il modo in cui lo facciamo in Unreal è usare una funzione che si trova sulla classe vector.
‫Quindi faremmo il vettore F, quindi i due punti due punti per guardare all'interno di quella classe quali funzioni ha a nostra
‫disposizione e possiamo guardare attraverso.
‫E ora attiro la tua attenzione sul completamento automatico che sta spuntando a questo punto.
‫Non l'ho menzionato in passato, ma quando eseguiamo queste operazioni, in realtà stiamo cercando
‫di essere intelligenti e dirci quali funzioni sono disponibili all'interno di tutta quella classe f vettoriale.
‫E puoi vedere che ce ne sono parecchi.
‫Quello che stiamo cercando si chiama Dist Short per distanza.
‫Ora noterai anche che ce n'è una chiamata effettivamente distanza e che in realtà è sinonimo.
‫Potremmo usarne uno qualsiasi, ma userò quello più breve per mantenere il codice più
‫conciso e possiamo aprire le parentesi.
‫E ancora, il completamento automatico ci viene in aiuto in quanto ci dice cosa prende come argomenti.
‫Possiamo vedere che il primo argomento è un vettore tre D e anche il secondo è un effetto per il 3D.
‫Quindi il fatto che qui si chiami Factor 3D è un po' strano, ma in pratica chiede un
‫vettore F.
‫Quindi sta dicendo che se passi in due argomenti, entrambi sono fattori.
‫Ti dirò che il mio valore di ritorno che è questo bit qui sul lato sinistro sarà un doppio.
‫Ora un double è essenzialmente solo un float più accurato.
‫Quindi potremmo sostanzialmente dire.
‫Quello è un galleggiante che esce da qui.
‫L'espressione che abbiamo creato crea un float.
‫Eccezionale.
‫Quindi quello che faremo è cercare di trovare la distanza tra il punto di partenza.
‫Quindi digiteremo posizione iniziale come primo argomento.
‫E poi il secondo sarà la posizione attuale.
‫Ora, non preoccuparti, in questa fase non importa in che modo mettiamo questo giro perché la
‫distanza tra due vettori sarà la stessa.
‫Sia che inizi da A a B o da B ad A, sarà sempre la stessa distanza.
‫Quindi avremmo potuto metterli in entrambi i modi, se vuoi.
‫Quindi ora abbiamo un'espressione che restituisce un float.
‫Quindi vorrei sfidarti ad aggiornare una nuova proprietà usando questa espressione in modo che possiamo vedere qual è
‫il suo valore.
‫Quindi crea una nuova proprietà float e chiamala come preferisci, quindi aggiorna questa ogni take
‫con il valore di f vettore dest, quindi gioca e guarda cosa succede.
‫Ottieni l'output che ti aspetteresti?
‫Aumenta così rapidamente come ti aspetteresti?
‫Metti in pausa il video e prova.
‫Bene.
‫Ben tornato.
‫Quindi creeremo, prima di tutto, la nuova proprietà.
‫Quindi metterò questo sopra la nostra posizione di partenza in modo da raggruppare tutte le proprietà insieme.
‫Avrò una nuova modifica della proprietà ovunque, un fatto reale.
‫Non è necessario essere in grado di modificarlo.
‫Quindi potresti immaginare che ovunque significhi che puoi modificarlo.
‫Bene, abbiamo anche un visibile ovunque che non ci consente di modificarlo, ma ci consente di vederlo.
‫Quindi è quello che userò invece.
‫Lascerò la categoria qui per semplicità, perché stiamo solo usando questa variabile per essere in grado
‫di vedere cosa sta succedendo.
‫Sarà un tipo galleggiante, come ho detto, e lo chiamerò la distanza spostata in modo che
‫sia chiaro cosa stiamo guardando nell'ispettore.
‫E imposterò il valore predefinito su meno uno solo per sapere che l'abbiamo aggiornato.
‫Se dice meno uno, sappiamo che l'aggiornamento non è andato a buon fine.
‫Quindi ho intenzione di prendere questa distanza spostata.
‫Esamineremo la nostra implementazione e prenderemo e imposteremo la distanza spostata in modo che
‫influisca sulla distanza dei due punti.
‫Quindi, usando quell'operatore di risoluzione dell'oscilloscopio per ottenere la funzione di distanza e quindi terminare la riga con
‫un punto e virgola.
‫Okeydoke.
‫Quindi andremo avanti in Unreal e premiamo il pulsante di compilazione e possiamo andare avanti e chiudere il
‫terminale.
‫E dovremmo vedere questa distanza spostata, che appare come meno uno.
‫Puoi vedere che è disattivato perché non posso modificarlo perché è visibile, non modificarlo comunque.
‫Quindi andiamo avanti e premiamo play e dovremo assicurarci di selezionare la piattaforma mobile nella
‫struttura e possiamo dare un'occhiata alla distanza spostata qui e puoi vedere che
‫la proprietà sta rapidamente occupando circa 1 a 300 al secondo.
‫Quindi sta andando alla velocità che mi aspetterei che fosse, ovvero 100 al secondo.
‫Quindi sembra un successo.
‫Siamo stati in grado di calcolare la distanza percorsa e anche di visualizzarla.
‫Roba fantastica.
‫Ci vediamo alla prossima lezione.