‫In questa lezione creeremo una classe C++.
‫Ora abbiamo bisogno di una classe che possiamo usare per le nostre pedine.
‫Ora sto dicendo pedine, plurale, perché ci saranno due pedine diverse nel nostro gioco.
‫Ci sarà il carro armato che useremo per rotolare nel livello e ci sarà una
‫torretta che sarà il nostro nemico in modo da poter creare una classe di pedone base.
‫E questo avrà le funzionalità di base che condivideranno sia il carro armato che la torretta.
‫E in questo modo possiamo creare le nostre due classi figlie, il carro armato e la torretta.
‫Quindi questi erediteranno qualità dalla classe di pedone di base e queste sono cose che
‫entrambi i pedoni condivideranno, come avere la maglia, avere un componente a capsula e la capacità di
‫lanciare proiettili.
‫Ora entreremo in tutte queste funzionalità nei video futuri per questo video.
‫Creeremo semplicemente la classe C++ e vi aggiungeremo alcune variabili di base.
‫Quindi questa è la nostra motivazione per creare la nostra prima classe C++.
‫Ora siamo pronti per iniziare a creare alcune classi C++ per questo progetto.
‫Ora vedrai qui sotto nel browser dei contenuti che non ci sono cartelle per le classi C++.
‫Questo perché non ne abbiamo ancora creato nessuno, ma stiamo per scrivere ora in modo da poter passare agli
‫strumenti e selezionare una nuova classe C++.
‫Ed è qui che sceglieremo la classe genitore per la classe che creeremo.
‫E per impostazione predefinita, qui abbiamo diverse opzioni tra cui scegliere.
‫Questo è qualcosa che avresti dovuto vedere nelle lezioni precedenti.
‫Quindi ora abbiamo alcune decisioni da prendere qui.
‫Per uno, quale classe genitore sceglieremo?
‫Abbiamo.
‫Il primo è nessuno.
‫Ciò ci consentirebbe sostanzialmente di creare una semplice vecchia classe C++, ma avremo bisogno di alcune funzionalità extra.
‫Per uno, vogliamo essere in grado di collocare un'istanza di questo oggetto nel mondo.
‫Quindi non possiamo farlo con una semplice vecchia classe C++.
‫Potremmo farlo con un personaggio, una pedina o un attore, ma quale di questi è più appropriato per
‫quello che vogliamo fare?
‫Bene, dobbiamo fare un passo indietro e pensare a cosa esattamente stiamo cercando di creare qui.
‫Stiamo cercando di creare un carro armato che possiamo controllare e muoverci nel livello e sparare proiettili in modo da poter causare
‫danni e tutte quelle cose buone nella nostra cartella delle risorse.
‫Solo per ricordarcelo, abbiamo questa cartella delle maglie qui e abbiamo la base del carro armato e abbiamo la torretta del carro armato.
‫Queste sono due diverse mesh che saranno nella nostra classe.
‫E quindi abbiamo bisogno della capacità di avere mesh.
‫E quindi una semplice classe C++ non ha questa capacità.
‫Quindi pensiamoci per un secondo.
‫Quale classe genitore dovremmo usare?
‫Bene, la prima lezione che probabilmente ti viene in mente è quella dell'attore.
‫Ora, la classe dell'attore ha la capacità di essere inserita nel mondo.
‫Quindi è un ottimo inizio.
‫Ha anche la capacità di avere una rappresentazione visiva.
‫Che si tratti di una mesh o di qualsiasi altra cosa, può essere effettivamente vista una volta posizionata nel mondo, a condizione
‫che gli dia una mesh o qualunque cosa tu voglia vedere.
‫Ora derivato da attore, abbiamo la classe -- e la -- eredita tutte quelle qualità dalla
‫classe attore, tranne per il fatto che ha qualità aggiuntive come la capacità di essere posseduto da un controllore.
‫Ora, tutta questa faccenda del possesso è qualcosa di cui parleremo più dettagliatamente in seguito, ma per ora, capisci solo
‫che questo significa che un -- può essere controllato da un giocatore.
‫Quindi, se stai premendo un pulsante del mouse o un tasto della tastiera, questo può essere impostato e configurato in modo da
‫poter spostare il -- in giro.
‫Quindi questo suona come qualcosa che vorremmo sicuramente per il nostro carro armato.
‫Quindi, gestendo l'input di movimento, il -- suona come una scelta piuttosto buona ora derivato dalla classe --
‫e quindi eredita tutte le cose che -- ha, più tutte le cose che -- ha ereditato dalla
‫sua classe genitore.
‫Abbiamo la classe del personaggio che ha alcune cose specifiche del personaggio.
‫Ad esempio, ha qualcosa chiamato componente di movimento del personaggio.
‫Ora, un -- non ha questo.
‫Una componente di movimento del personaggio conferisce al personaggio abilità extra come diverse modalità di
‫movimento come volare, nuotare e accovacciarsi e altre cose specifiche dei personaggi.
‫La classe del personaggio è buona per i personaggi bipedi e non funzionerà molto bene per i personaggi non bipedi,
‫cose che non sono creature con due gambe.
‫E anche se sarebbe fantastico avere un carro armato che vola intorno al livello e sgancia bombe
‫su tutto ciò che vede, in questa sezione non faremo nulla di così complicato.
‫Faremo solo un carro armato che possa rotolare.
‫Quindi non abbiamo davvero bisogno di una componente di movimento del personaggio o di quelle cose speciali specifiche del personaggio.
‫Quindi, per questo, penso che un -- sia perfetto per quello che stiamo cercando di ottenere.
‫Quindi ti sfiderò a creare una nuova classe C++, creare una classe basata su -- e nominare questa nuova
‫classe basata su --.
‫Ora puoi lasciare tutte le impostazioni così come sono.
‫Nella procedura guidata di creazione della classe.
‫Non è necessario modificare il percorso del file o qualcosa del genere, quindi metti in pausa il video e crea
‫la tua prima classe C++ per questo progetto.
‫Quindi torna qui nel livello.
‫Quindi andiamo agli strumenti e creiamo una nuova classe C++.
‫Non ho ancora creato la classe C++.
‫L'ho appena chiuso per tornare a quella diapositiva.
‫Ma ora che sono tornato, sono pronto per creare la mia prima classe C++ per questo progetto e sceglierò --
‫e lo vedrai ogni volta che passerai sopra questi.
‫Probabilmente l'hai già visto.
‫Otteniamo un suggerimento che compare e dice: -- è la classe base di tutti gli attori che possono essere posseduti
‫dai giocatori.
‫Oppure so che sembra piuttosto eccitante, ma lo configureremo in modo che sia mobile grazie all'input di un
‫giocatore.
‫Quindi questo è perfetto.
‫Continua dicendo che sono le rappresentazioni fisiche di giocatori e creature in un livello.
‫Quindi, in altre parole, una volta creato questo carro armato, ci rappresenterà come giocatori nel mondo.
‫Abbastanza bello.
‫Quindi seleziona -- e fai clic su Avanti e ci mostrerà il percorso in cui inserirà questa classe nel nostro progetto e
‫vedrai che è nei serbatoi di ottimizzazione del codice sorgente.
‫Ora vorremo dare un nome al nostro nuovo -- perché il mio -- è un nome orrendo ed è molto vago.
‫Abbiamo bisogno di qualcosa di un po' più specifico ora.
‫Abbiamo intenzione di usarlo come classe base, il che significa che deriveremo classi da questa classe
‫in modo che possiamo chiamare questa base --.
‫Ora, so che non è molto meglio del mio --, ma ehi, ci sta dicendo che questa è una base --.
‫Questo è qualcosa da cui trarremo le classi figlio in futuro.
‫Ci arriveremo.
‫Ma per ora chiameremo questa base e faremo clic su Crea classe.
‫Tutto bene.
‫Quindi il codice di Visual Studio si è aperto per noi con la nostra nuova classe.
‫Abbiamo basato su H e basato su CP.
‫Ora possiamo chiudere questa barra laterale facendo clic sull'icona Explorer lì e possiamo dare un'occhiata a ciò che il codice di
‫V ha generato per noi.
‫Quindi, per impostazione predefinita, otteniamo il costruttore di classi e tre funzioni start, play, tick e settaggio del componente
‫di input del giocatore.
‫Ora dovresti avere familiarità con Begin, Play e spuntare i commenti qui.
‫Spiega cosa fanno.
‫Impostare il componente di input del giocatore è qualcosa che ottiene il pedone e questa funzione ci consente di gestire
‫l'input come da un tasto della tastiera o un clic del mouse e impareremo di più su come funziona nei
‫video futuri in banda base.
‫CP Queste funzioni sono definite per noi, ma sono piuttosto scarse e non lo cambieranno nemmeno nei
‫video futuri.
‫Quindi in questo video abbiamo creato la nostra prima classe C++ e il prossimo video discuterà dei componenti e del motivo per cui
‫vorremmo aggiungerne alcuni alla nostra nuova classe.
‫Ci vediamo presto.