‫Ciao e Benvenuto.
‫In questa lezione, implementeremo le nostre funzioni per i membri della classe, spostare la piattaforma e ruotare
‫la piattaforma.
‫Vedremo come possiamo impostarli in modo che possano accogliere le discussioni.
‫E ci aiuterà a riordinare un po' il nostro codice.
‫Immergiamoci e vediamo come funziona.
‫Quindi fino ad ora abbiamo utilizzato le funzioni C++ che sono già state create per noi.
‫Abbiamo usato prendere questi e possiamo giocare in termini di scrittura delle loro funzionalità.
‫E abbiamo anche utilizzato funzioni che altre persone hanno scritto per noi.
‫Li abbiamo chiamati come ottenere posizione attiva e ottenere nome.
‫Ora come possiamo creare nuove funzioni per aiutare a organizzare il nostro codice e mantenere queste funzioni piccole
‫e tutto molto più leggibile?
‫Bene, abbiamo già messo a punto gli elementi costitutivi di base arrivando verso la fine della sezione.
‫Capiamo molto di più sulla sintassi C++.
‫Quindi quello che voglio fare è essenzialmente creare una nuova funzione sulla piattaforma mobile che ci permetta di avere
‫solo immissione, diciamo piattaforma di spostamento delle chiamate.
‫Perché voglio farlo?
‫Bene, perché essere in grado di effettuare una chiamata di funzione come questa chiamata MOVE Platform, parla davvero di ciò che
‫stiamo cercando di fare in questo momento.
‫Abbiamo un sacco di cose in corso in tecnologia e non sono del tutto chiaro perché stiamo facendo tutte queste
‫cose se vengo a dargli un'occhiata, se sono entrato in tecnologia e ho visto una funzione che dice Sposta piattaforma ,
‫beh, all'improvviso ho il contesto per quello che dovrebbero fare tutte queste cose e non ho bisogno
‫di un solo commento per dirmi cosa sta succedendo.
‫Ciò sarà particolarmente utile quando aggiungiamo al mix anche la possibilità di ruotare la
‫piattaforma.
‫Quindi, come definiamo le funzioni di dichiarazione?
‫Bene, l'aspetto della dichiarazione è finito nell'intestazione del file.
‫È qui che in pratica diciamo testa a C++, avremo una funzione che assomiglierà
‫a questa.
‫E poi nel C++ è dove definiamo effettivamente la funzione.
‫Gli diamo il corpo, lo diciamo esattamente a C++.
‫Ecco come funziona la funzione.
‫E diamo un'occhiata a come possiamo farlo.
‫Abbiamo alcuni esempi di funzioni e abbiamo un grande gioco, abbiamo la tecnologia.
‫Ed è un buon momento per noi per esaminare le diverse sezioni che abbiamo in un file di intestazione.
‫Abbiamo il pubblico e la protezione che vengono menzionati qui e il pubblico viene menzionato di nuovo.
‫Ora cosa significa questo?
‫Queste parole chiave con i due punti alla fine definiscono sostanzialmente una sezione di accessibilità.
‫Queste funzioni, da dove è possibile accedervi.
‫Abbiamo visto la normalità di Get Safe.
‫Questa è una funzione che chiamiamo su un vettore F, ma lo chiamiamo da un'altra classe, non
‫da un vettore F.
‫Ciò significa che l'accessibilità di questa funzione deve essere pubblica.
‫Ora lasceremo da parte protetti solo per un minuto perché lì diventa un po' più complicato.
‫Ma c'è un altro tipo di parola chiave che possiamo usare, che è privata.
‫Quindi aggiungerò dopo la ripresa, aggiungerò l'avviso della parola chiave privata che non rientra in queste sezioni
‫e inseriremo i due punti alla fine.
‫E ciò significa che tutto ciò che verrà dopo fino alla prossima sezione, la prossima
‫parola chiave che inserirò qui, sarà privato.
‫Quindi questo significa che abbiamo preso tutte queste variabili e detto, Ehi, nessun'altra classe è autorizzata a toccarle.
‫E questa di solito è la migliore pratica che non abbiamo fatto fino a questo punto perché non volevo
‫che le cose ti confondessero un po'.
‫Ma le variabili nelle classi dovrebbero generalmente essere affar loro.
‫È uno dei principali tenant della programmazione orientata agli oggetti che lasciamo alle classi la gestione delle
‫proprie variabili e vi accediamo solo utilizzando funzioni che la classe denota come pubbliche.
‫Quindi quello che faremo qui è aggiungere alcune altre funzioni private qui perché non
‫vogliamo che qualcosa come Move Platform venga chiamato dall'esterno della classe.
‫Vogliamo che sia gestito dalla nostra funzione tecnologica.
‫Quindi, come si definisce una funzione privata?
‫Bene, lo mettiamo in una sezione privata.
‫Quindi abbiamo la nostra parola chiave privata qui.
‫Lo metterò dopo le nostre variabili, tuttavia, e iniziamo con il tipo restituito.
‫E se la nostra funzione non restituisce nulla, scriviamo semplicemente void per indicare che non c'è alcun ritorno in uscita
‫da questa funzione.
‫Quindi gli diamo un nome di funzione.
‫Quindi volevamo spostare la piattaforma e poi diamo alcune parentesi per indicare che questa è una funzione che apriamo e chiudiamo parentesi e
‫poi un punto e virgola per finire la linea e dire, ok, il gioco è
‫fatto.
‫Questa è la funzione che voglio dichiarare qui nel file di intestazione e tutto ciò che fa.
‫Dice Questa è la forma della funzione.
‫Questo è il ritorno.
‫Questi sono i parametri che prende e il nome e la classe a cui appartiene.
‫Ora, per dargli effettivamente un'implementazione, dobbiamo definirlo nel file C++.
‫Allora andiamo laggiù.
‫E alla fine del file, appena fuori dalle parentesi graffe, è qui che lo facciamo.
‫Si riparte con il tipo di reso.
‫Quindi sarà nullo perché siamo all'interno di un file C++, non siamo all'interno delle parentesi graffe di una
‫classe.
‫Dobbiamo usare l'operatore di risoluzione dell'ambito per dire che stiamo cercando di definire una funzione dall'interno della classe della
‫piattaforma mobile.
‫Quindi digitiamo il nome della classe, che è una piattaforma mobile, ricordando che c'è un prefisso per dire che
‫è un attore.
‫Quindi utilizziamo i due punti, i due punti, l'operatore di risoluzione dell'ambito, quindi utilizziamo il nome della
‫funzione che stiamo definendo, che è la piattaforma MOVE.
‫E poi usiamo lo stesso insieme di parametri che abbiamo fatto nel file di intestazione.
‫In questo caso, avevamo un set di parametri vuoto, quindi abbiamo solo le parentesi.
‫E poi, invece di mettere un punto e virgola alla fine di questa riga su una nuova riga, mettiamo una parentesi
‫graffa di apertura e una parentesi graffa di chiusura corrispondente.
‫E tra queste parentesi graffe dove mettiamo il codice per la nostra funzione, fantastico.
‫Quindi quello che voglio fare ora è provare a dire, beh, tutte queste funzionalità che abbiamo qui, e infatti,
‫eliminerò i commenti perché non ne abbiamo più bisogno.
‫Erano lo pseudocodice che usavamo per implementarlo, ma ora è servito allo scopo.
‫Capiamo cosa stanno facendo le righe di codice.
‫Prenderò tutto tranne la funzione di spostamento della piattaforma da Take, lo copierò e lo incollerò invece nella
‫nostra funzione della piattaforma MOVE.
‫Quindi questo dovrebbe funzionare più o meno allo stesso modo perché quando entriamo in tecnologia chiamiamo move platform ed esegue
‫semplicemente lo stesso pezzo di codice.
‫Tranne che ora l'abbiamo raggruppato in una funzione e ci rende più facile leggere e potenzialmente riutilizzare
‫in futuro.
‫Ma se lo fai, noterai che c'è un problema.
‫Stiamo accedendo al tempo Delta e questo è un parametro a cui non abbiamo più accesso perché era un parametro passato
‫alla tecnologia.
‫Quindi, se vogliamo ottenerlo, dobbiamo avere un parametro nella nostra funzione.
‫Quindi, quando definiamo i parametri, dobbiamo farlo in due punti.
‫Proprio come quando definiamo la funzione, torniamo al file di intestazione e tra parentesi
‫della nostra funzione della piattaforma MOVE.
‫Qui è dove diciamo quali parametri vogliamo ed è esattamente come definire una variabile.
‫Devi dargli un tipo e dargli un nome.
‫Quindi diremo che sarà un tipo float e possiamo semplicemente chiamarlo tempo delta.
‫Non deve essere lo stesso nome.
‫Potremmo chiamarlo così.
‫Potremmo chiamarlo tempo.
‫Ma è più facile dargli lo stesso nome perché poi è ovvio a chiunque lo legga cosa dovrebbe essere
‫passato qui.
‫Quindi nel file C++, dobbiamo abbinare l'elenco dei parametri.
‫Quindi, ancora una volta, puoi farlo semplicemente copiando e incollando o digitandolo.
‫Se lo digiti, assicurati di non fare errori di battitura perché il compilatore si lamenterà.
‫Quindi avremo un float chiamato Delta Time passato come parametro o definito come parametro per spostare la
‫piattaforma, ma in realtà non lo abbiamo passato come argomento per spostare la piattaforma in tick.
‫E vedrai che ho una piccola linea ondulata rossa qui file molto, molto.
‫Dice che ci sono troppi pochi argomenti nella chiamata di funzione perché l'ho definito nel file di
‫intestazione e ora nel C++ oltre a richiedere un parametro di tipo float.
‫Quindi devo fornire quel parametro.
‫Quindi mi assicurerò che sia il parametro che sto fornendo.
‫Il valore che sto fornendo proviene dalla variabile del tempo delta o dal parametro del tempo delta da tick.
‫Quindi stiamo inserendo il valore, il valore viene passato in tick, quindi viene passato alla
‫piattaforma di spostamento e finisce in un parametro nella funzione della piattaforma MOVE in cui può essere utilizzato per eseguire e spostare la funzionalità
‫della piattaforma.
‫Quindi vorrei che creassi la tua funzione di rotazione della piattaforma che chiameremo da TIC.
‫Quindi lo aggiungerai al file di intestazione come abbiamo fatto per la nostra funzione della piattaforma MOVE.
‫Lo aggiungeremo anche al file C++ allo stesso modo.
‫Quindi prendi i tuoi suggerimenti dal modo in cui lo abbiamo fatto per quelle funzioni e poi chiamalo dalla funzione tick.
‫Assicurati di passare il tempo Delta e di definire tutti i parametri per consentirti di passare il tempo
‫Delta e implementare il corpo della piattaforma Ruota in modo che si disconnette un messaggio.
‫In realtà non ruoterà ancora la piattaforma, ma come segnaposto per assicurarsi che venga effettivamente chiamato
‫un messaggio di registro utilizzando il registro dell'interfaccia utente di cui abbiamo appreso.
‫Metti in pausa il video e prova.
‫Bene.
‫Ben tornato.
‫Quindi inizieremo con il file di intestazione e per lo più faremo lo stesso che abbiamo fatto per la nostra
‫piattaforma MOVE.
‫Lo metteremo in una sezione privata in modo che sia accessibile solo all'interno della nostra classe.
‫Gli darò un tipo di ritorno vuoto, lo chiameremo piattaforma rotante.
‫Apriremo l'elenco dei parametri.
‫E in esso inseriremo un parametro che avrà il tipo
‫float, lo chiameremo Delta time e chiuderemo i parametri e finiremo con un punto e virgola.
‫Ora, la maggior parte di ciò che facciamo nel file C++ è esattamente la stessa che nell'intestazione del file.
‫Quindi in realtà copierò questa riga, andrò al file C++ e ti mostrerò cosa è diverso.
‫Quindi andrò su una nuova riga vuota alla fine del file, la incollerò e poi la differenza è che qui
‫abbiamo bisogno dell'operatore di risoluzione dell'ambito e del nome della classe.
‫Quindi avremo una piattaforma mobile, due punti, una piattaforma rotante dei due punti.
‫Quindi abbiamo l'elenco dei parametri e quindi non abbiamo bisogno del punto e virgola alla fine.
‫Quindi rimuovi il punto e virgola, aggiungi una nuova riga e attacca le parentesi graffe invece di una nuova riga tra quelle
‫due parentesi graffe.
‫Quindi quello che vogliamo fare qui è stampare un messaggio di registro.
‫Quindi ho intenzione di digitare il tuo registro premi invio.
‫Sarà solo un semplice messaggio visualizzato.
‫E nel testo metterò il nome della nostra piattaforma.
‫Quindi sarà la percentuale s, quindi digiteremo il punto rotante, il punto, il punto e poi
‫passerò il nome.
‫Ora potremmo inserirlo in una variabile, ma poiché qui è una riga piuttosto corta,
‫digiterò solo stella, otterrò il nome e quindi inserirò le parentesi in modo da chiamare essenzialmente qui chiamando il nome
‫get.
‫Questa è l'espressione che si impadronisce della stringa.
‫E poi stiamo convertendo quel risultato per inserirlo nel nostro messaggio di registro.
‫Quindi, da tutte le nostre piattaforme, mi aspetto di vedere che la rotazione viene stampata, ma questo accadrà solo se lo
‫chiamo effettivamente in tecnologia.
‫Quindi andiamo alla funzione tick dopo che la piattaforma MOVE può aggiungere una nuova linea e chiamare la piattaforma di rotazione.
‫E dobbiamo vedere.
‫Quando apro le parentesi, mi dà un suggerimento che devo passare un argomento per il tempo Delta.
‫Quindi, ancora una volta, passeremo la stessa variabile di tempo Delta da qui.
‫E come ho detto, i nomi qui non devono essere gli stessi.
‫Quindi questo tempo delta deve corrispondere al tempo delta all'interno della tecnologia.
‫Ma potremmo invece scegliere di chiamare la variabile all'interno della data della piattaforma di rotazione.
‫E ovunque lo usiamo all'interno della piattaforma rotante, dovremmo usare ADT, il nome del parametro e
‫l'argomento può essere sostanzialmente diverso.
‫Quindi saltiamo su Unreal e premiamo compila perché abbiamo apportato alcune modifiche al file di intestazione.
‫La compilazione sarà leggermente più lunga rispetto a quando abbiamo appena modificato il file C++ e una volta completata
‫la compilazione, andremo avanti e premiamo play e apriamo il registro di output.
‫E puoi vedere che stiamo effettivamente visualizzando messaggi di registro su ciascuna delle piattaforme che ruotano.
‫Quindi sembra che la nostra funzione venga effettivamente chiamata in tecnologia.
‫Roba fantastica.
‫Ora capiamo come creare le nostre funzioni che sono membri di una classe.
‫È uno strumento molto utile per riutilizzare un codice, ma anche per organizzarlo proprio come era in Blueprint.
‫Ci vediamo alla prossima lezione.