‫Ciao e bentornato.
‫Ora, abbiamo già creato la capacità di gestire la morte per il carro armato e la torre, e abbiamo visto che ciò
‫comportava alcuni passaggi aggiuntivi con il nostro carro armato poiché abbiamo avuto accesso al controller del giocatore per disabilitare l'input e disabilitare la
‫visualizzazione del cursore del mouse.
‫Ora vorremmo avere la nostra classe di controller del giocatore personalizzata in modo da poter aggiungere funzionalità
‫che gestiranno questo per noi.
‫E poi vorremmo creare un progetto basato su questa classe in modo da poter accedere ad alcune
‫delle variabili esposte sul controller del giocatore come quale cursore del mouse mostrare una volta che iniziamo effettivamente a mostrare il
‫cursore del mouse.
‫Quindi creeremo una classe di controller del giocatore e aggiungeremo l'abilitazione e la disabilitazione della funzionalità di input.
‫E poi creeremo un progetto e imposteremo il tipo di cursore del mouse nei progetti.
‫Ora la creazione di questa classe è qualcosa che sai come fare.
‫Quindi creerai una classe controller del giocatore per la tua sfida, creerai una nuova classe C++ e scegli
‫il controller del giocatore come classe genitore.
‫Chiama questo carri armati, controller del giocatore o qualcosa di appropriato del genere.
‫E una volta che hai finito, crea un progetto basato su questa classe.
‫Ora, una volta che hai il progetto, puoi assegnarlo come controller del giocatore predefinito nel progetto della
‫modalità di gioco.
‫Fallo nella modalità di gioco, progetto stesso.
‫Metti in pausa il video e crea ora la classe controller del giocatore per il carro armato.
‫Bene.
‫Quindi sono tornato nell'editor.
‫Farò clic con il pulsante destro del mouse su nuova classe C++ e scorro verso il basso e vedrò che il controller del lettore
‫è un'opzione qui.
‫Quindi selezionerò il controller del giocatore e nominerò i miei nuovi serbatoi di messa a punto del controller del giocatore.
‫Giocatore, controller e fai clic su Crea classe.
‫E qui ho la mia nuova classe di controller del giocatore.
‫Ora il prossimo passo è creare un progetto basato su questo.
‫Quindi sono tornato nell'editor e non ti ho detto di farlo, ma creerò una nuova cartella qui
‫nella mia cartella dei progetti chiamata Player Controller.
‫E se desideri la stessa struttura di cartelle, puoi creare questa cartella ora se non l'hai già
‫fatto e quindi spostare il progetto del controller del giocatore in questa.
‫Se non sai come spostare un progetto da una cartella all'altra, è abbastanza semplice.
‫Vai alla cartella che contiene il progetto, fai clic e trascina nella cartella corretta e fai clic su
‫sposta qui.
‫Ora, non voglio spostare il mio proiettile in questa cartella, quindi farò semplicemente clic qui nel browser
‫dei contenuti per annullare l'azione.
‫Quindi ora ho una cartella del controller del lettore.
‫Farò clic con il pulsante destro del mouse e cliccherò sulla classe del progetto e in questa ricerca cercherò i carri armati, il
‫controller del giocatore e selezionerò quella classe e farò clic su Seleziona.
‫Ora posso chiamare questo segnale acustico di sottolineatura per il controller del giocatore dei carri armati.
‫Quindi ora ho un controller del giocatore.
‫Ora devo impostarlo come controller del lettore predefinito.
‫Quindi andrò alla cartella della modalità di gioco, aprirò il segnale acustico, sintonizza i carri armati, la modalità di gioco e aprirò il progetto completo.
‫Editor E qui vedo la classe del controller del giocatore.
‫Farò clic sul menu a discesa e selezionerò i carri armati BP, il controller del giocatore e compilerò, salverò
‫e chiuderò quello.
‫Quindi ora abbiamo la classe del controller del giocatore personalizzato.
‫Siamo pronti per aggiungere alcune funzionalità a questo.
‫Quindi quello che vorrei è una funzione qui che può impostare lo stato abilitato del giocatore, indipendentemente dal fatto che il
‫giocatore sia abilitato o meno ad aggiungere input che sposteranno il carro armato.
‫Ora ho intenzione di richiamarlo dalla modalità di gioco quando l'attore muore.
‫Quindi farò una sezione pubblica qui e la funzione sarà annullata.
‫E chiamerò semplicemente questo stato abilitato per il lettore impostato, che può accettare un lettore booleano chiamato B
‫abilitato.
‫In questo modo, se chiamiamo questa funzione, possiamo passare true se vorremmo che il giocatore fosse
‫abilitato o false se vorremmo che fosse disabilitato.
‫Quindi implementiamo questa funzione in carri armati, giocatore, controller.
‫CP Quindi ecco la mia funzione e ovviamente ho bisogno del nome della classe qui.
‫Quindi sarà una messa a punto di carri armati, giocatore, controller e c'è l'operatore di risoluzione dell'oscilloscopio.
‫Ora, questa funzione sarà abbastanza semplice.
‫Controllerà il valore del giocatore B abilitato e possiamo farlo con un semplice se check.
‫Quindi dirò se il giocatore B è abilitato e vorrei accedere al pedone e abilitare o disabilitare l'input e
‫il modo per accedere al pedone che questo controller del giocatore possiede è usare la funzione, ottieni
‫pedone.
‫Questo restituisce e un pedone e la classe pedone ha la funzione.
‫Abilita l'input e abilita l'input come abbiamo visto richiede un controller del giocatore in modo da poter passare questo.
‫Ora ricevo gli scarabocchi rossi perché dobbiamo includere quel tipo di classe di pedone e possiamo facilmente
‫vedere l'inclusione per il pedone andando alla documentazione del motore irreale per un pedone, oppure potremmo semplicemente andare
‫alla nostra classe di pedone di base che eredita da una pedina.
‫E poiché eredita da un pedone, abbiamo visto che deve includere l'intestazione del pedone lì, quindi posso
‫copiarlo includendo la sua struttura di gioco, un pedone slash.
‫Quindi torna in sintonia con il controller del giocatore dei carri armati.
‫Posso incollare quell'inclusione qui in alto per sbarazzarmi di quegli scarabocchi rossi.
‫Quindi questo si occupa del caso in cui il giocatore B abilitato è vero, ma abbiamo anche bisogno di un caso LS qui.
‫Nel caso LS chiameremo get pewn e c'è una funzione proprio come enable input che è
‫progettata per disabilitare l'input e si chiama, come puoi immaginare, disable input.
‫E questo richiede anche un controller del giocatore per il quale passeremo in questo.
‫Ora il controller del giocatore ha che mostra il cursore del mouse e imposteremo anche quello.
‫E vorremmo impostarlo in base al fatto che il lettore debba essere abilitato o meno.
‫Quindi, qualunque sia il valore booleano di B player abilitato, imposteremo B mostra il cursore del mouse su quel valore.
‫Quindi diremo che il cursore del mouse B sho è uguale al giocatore B abilitato.
‫Ora non abbiamo ancora mostrato il cursore del mouse.
‫Stiamo per arrivare a quella parte.
‫In realtà vorremmo vedere il cursore del mouse mentre stiamo giocando in modo da sapere dove sta mirando il nostro
‫carro armato.
‫Quindi ci arriveremo presto.
‫Ma per ora abbiamo questa bella funzione nel controller del giocatore e vorremmo chiamare questa funzione dalla
‫modalità di gioco ora per mostrarti cosa intendo.
‫Sto tornando alla modalità di gioco ed ecco la funzione attore morto e vedrai che stiamo disabilitando l'input e stiamo
‫impostando b mostra il cursore del mouse qui.
‫Quindi il motivo per cui mi piacerebbe avere un.
‫Funzione sul controller del lettore in modo che possiamo semplicemente chiamare quella funzione passando un valore booleano.
‫In questo caso, passeremmo false in modo da ottenere quella funzione di input disabilita chiamata e B in modo che il cursore
‫del mouse venga impostato su false.
‫Quindi possiamo semplicemente chiamare quella funzione qui ora piuttosto che chiamare tank get player controller che restituisce un
‫controller del giocatore.
‫Mi piacerebbe avere una variabile puntatore che ci permetta di accedere a quel controller del giocatore.
‫Quindi qui nelle modalità di gioco dei carri armati, aggiungerò una variabile privata.
‫Lo dichiarerò avanti e sarà di tipo A carri armati, giocatore, controller, questo è un
‫puntatore.
‫E chiamerò questa melodia Tank's Player Controller e posso impostarla qui in modalità di gioco tune tank
‫e iniziare a giocare usando le statistiche di gioco.
‫Ora, se ti stai chiedendo se le statistiche di gioco avessero una funzione di controllo del giocatore, avevi ragione.
‫Questa è una di quelle utili funzioni statiche che richiedono un oggetto del contesto mondiale e un indice del
‫giocatore in modo che possiamo andare avanti e copiare l'inclusione per le statistiche di gioco e chiamarlo qui in Begin Play.
‫Quindi vedo in alto qui, ho già delle statistiche di gioco, questo perché lo stiamo già usando qui e
‫iniziamo a giocare per chiamare get player --.
‫Faremo la stessa cosa qui per impostare il puntatore del controller del giocatore.
‫Ora questo è qualcosa che dovresti sapere come fare.
‫Quindi perché non metti in pausa il video e fai una piccola mini sfida qui e imposta semplicemente il valore dei
‫carri armati, controller del giocatore.
‫Bene.
‫Quindi diremo sintonizzare carri armati, giocatore, controller e lo imposteremo uguale al risultato della tua statica di
‫gioco ottieni il controller del giocatore e sappiamo che l'oggetto del contesto del mondo può essere questo e l'indice del giocatore
‫non è nove ma zero .
‫E ovviamente sappiamo che questo restituisce un controller del giocatore e non un controller del giocatore di carri armati.
‫Quindi, proprio come abbiamo fatto con Tank qui, sceglieremo il cast.
‫Quindi dirò cast a un controller giocatore tune tank e trasmetteremo il risultato di get player
‫controller.
‫Quindi ora, dopo Begin Play, avremo i carri armati, il controller del giocatore.
‫E ora possiamo venire qui e invece di ottenere il controller del giocatore usando il controller del giocatore direttamente
‫dal carro armato, possiamo verificare che il nostro controller del giocatore dei carri armati a sintonizzazione variabile sia valido e quindi possiamo
‫chiamare quella funzione che abbiamo creato.
‫Torniamo indietro e guardiamolo.
‫Si chiama imposta lo stato abilitato del giocatore e qui nella modalità di gioco vorremmo disabilitare l'input e smettere di mostrare il cursore,
‫il che significa che passeremo in false per questo.
‫Quindi diremo sintonizzare carri armati, giocatore, controller, impostare lo stato abilitato per il giocatore e stiamo passando false per questo e stiamo usando tune
‫tank, controller del giocatore, il che significa che dobbiamo includere tune tank, controller
‫del giocatore.
‫Quindi qui in alto includeremo i carri armati, il controller del giocatore.
‫E ora abbiamo questo tipo definito OC.
‫Andiamo avanti e compiliamo questo.
‫E l'ultima cosa che faremo prima di concludere questo è andare nel nostro progetto del controller del giocatore
‫e vorrei che scorri verso il basso fino alla sezione dell'interfaccia del mouse e vedrai che dice Cursore del mouse predefinito.
‫Ora possiamo fare clic sul menu a discesa e ci sono diversi cursori tra cui scegliere.
‫E sceglierò Crosshairs.
‫Ora, non stiamo ancora mostrando il cursore del mouse, ma una volta avviato il gioco mostreremo il cursore.
‫E quando lo facciamo, mi piace che sia un mirino invece della freccia bianca predefinita che vediamo sempre quando guardiamo il
‫cursore del mouse.
‫Quindi imposta il cursore del mouse predefinito sul mirino e saremo in grado di vedere quei mirini una volta
‫abilitato il cursore del mouse.
‫Quindi, in sintesi, abbiamo creato una classe di controller del giocatore personalizzata e la stiamo usando per abilitare o disabilitare l'input con
‫una funzione che abbiamo posizionato su quella classe.
‫E stiamo anche usando quella funzione per mostrare il cursore del mouse o nascondere il cursore del mouse in base al
‫booleano passato.
‫E nel progetto che abbiamo creato, impostiamo il tipo di cursore del mouse e vedremo molto presto come appare
‫il cursore del mouse a mirino quando iniziamo a mostrare il cursore del mouse all'inizio del gioco.
‫Quindi ottimo lavoro.
‫Ora abbiamo questo controller del giocatore e siamo pronti per continuare a implementare le funzionalità di gioco.
‫Allora ci vediamo nel prossimo video.