‫Ciao e Benvenuto.
‫In questa lezione genereremo il nostro fucile in fase di esecuzione dalla nostra classe di caratteri in C++.
‫Entriamo e vediamo come è fatto.
‫Bene.
‫Quindi vogliamo che la nostra pistola deponga le uova.
‫Come figlio del personaggio delle riprese, il primo punto di chiamata è essere in grado di generare quell'attore dall'interno di
‫un altro attore.
‫Lo faremo in fase di esecuzione.
‫Inizieremo a giocare perché è così che puoi farlo quando stai generando.
‫Gli attori devono farlo in fase di esecuzione.
‫E il modo in cui lo faremo è impadronirci prima del mondo.
‫Quindi prendi mondo e poi chiameremo una funzione su Ottieni mondo, a proposito, mondo e livello sono sinonimi.
‫Quindi quello che stiamo effettivamente facendo qui è salire al livello e
‫dire, ehi, livello, puoi creare come attore perché tutti gli attori essenzialmente appartengono o vivono in un livello.
‫Quindi stiamo dicendo, sai, genera l'attore per me, per favore.
‫E questo è un attore di spawn che prende un modello.
‫Quindi puoi dire che voglio che questo attore che genererò sia di tipo A.
‫E affinché funzioni, avremo bisogno di includere un hash include qui per la pistola.
‫H.
‫E poi prenderemo un argomento e l'argomento da generare è in realtà può essere un tipo di classe.
‫Quindi per impostazione predefinita andrà avanti e genererà il C++.
‫Ma qui vogliamo generare il figlio del progetto di questa pistola.
‫Quindi dobbiamo capire cosa sarà che deve essere collegato in Blueprint.
‫Non può essere collegato qui in C++, almeno non facilmente.
‫Il posto migliore per farlo è in Blueprint.
‫Quindi faremo un ALLO per andare al file di intestazione per il nostro personaggio sparatutto e aggiungeremo una
‫nuova proprietà di te qui.
‫Per permetterci di configurare la classe a cui dovremmo puntare per generare un atto.
‫Quale classe di progetto dovremmo generare da questo personaggio sparatutto?
‫Lo avremo come modifica solo i valori predefiniti y modifica i valori predefiniti solo perché non vogliamo essere in grado di modificarlo in fase di esecuzione perché darebbe una falsa
‫impressione che tu possa cambiare il tipo di pistola che stiamo usando a runtime,
‫mentre la selezione dei giochi è già stata chiamata che le pistole sono già state generate
‫e quindi in realtà non aggiornerebbe nulla.
‫Quindi non vogliamo renderlo modificabile per non dare alle persone una falsa impressione di ciò che si può fare.
‫E poi qui useremo una macro chiamata sottoclasse T di cui potresti aver incontrato o meno
‫prima.
‫E la sottoclasse T tutto di è un modello.
‫Quindi usiamo di nuovo queste parentesi angolari e vogliamo dire una sottoclasse di pistola.
‫E sostanzialmente ciò significa che consente ai progetti di limitare le classi tra cui è
‫possibile selezionare solo le classi che sono sottoclassi della classe Gun C++.
‫Ora, questo non sarà un indicatore perché non stiamo puntando a un'istanza reale della pistola.
‫Quello che stiamo ottenendo qui in questa variabile è una classe stessa.
‫In questo caso, è una classe blueprint, ma è pur sempre una classe.
‫Quindi quella che vorremo chiamare questa è la classe delle armi, solo per chiarire che questa non è
‫in realtà la pistola stessa.
‫Vogliamo che un'altra tua proprietà qui conservi la pistola e non sarà un'impostazione predefinita di modifica.
‫Quindi fondamentalmente non vogliamo renderla una proprietà visibile, ma sarà in un puntatore di
‫pistola.
‫Vedi la differenza?
‫Uno di questi è una sottoclasse t di pistola, l'altro è un puntatore pistola e questa è la pistola vera e propria.
‫Questa è una volta che abbiamo creato un'istanza della classe, è lì che la memorizzeremo.
‫Quindi andiamo al nostro sparatutto c p e finiamo questo gioco inizia in cui stiamo generando le cose, quindi avremo la pistola uguale
‫per far sì che lo spawn del mondo agisca con una pistola e l'argomento passerà qui
‫è la classe della pistola che andremo a definire nei progetti.
‫Quindi andiamo e proviamo a compilare questo.
‫Potrebbe darci degli errori.
‫Vediamo, ho il registro dei messaggi aperto con il registro di compilazione.
‫E abbastanza sicuro, stiamo ricevendo alcuni errori qui nel file principale che dice identificatore non dichiarato
‫perché dobbiamo inoltrare la dichiarazione della pistola.
‫Quindi lo farò solo in alto.
‫È in due punti che dirò classe.
‫Una vista simile a una pistola.
‫E solo un promemoria, dichiarare in avanti in questo modo significa che possiamo ridurre i nostri tempi di compilazione
‫non includendo troppo nella pesante testata dei file.
‫Proviamo a ricompilare e vediamo.
‫Sembra che sia stato l'unico errore.
‫Ora è compilato correttamente.
‫Andiamo avanti e premiamo play e vediamo cosa succede.
‫Uscita.
‫Dai un'occhiata al nostro
‫Fondamentalmente vogliamo dare un'occhiata al caricamento dei messaggi, che non ho aperto.
‫Quindi andiamo alla finestra e agli strumenti per sviluppatori e diamo un'occhiata al registro di output e vediamo se abbiamo errori qui.
‫Sì.
‫L'attore di spawn non è riuscito perché non è stata specificata alcuna classe.
‫Sicuro.
‫Nessuna classe è stata specificata perché non l'abbiamo ancora configurata nel progetto.
‫Quindi questo lo salverò come sfida a te per collegare la pistola, trovare la proprietà nei nostri
‫progetti del personaggio, impostarla sulla pistola corretta e testare che si generi.
‫Metti in pausa il video e prova.
‫Ok, bentornato.
‫Quindi andiamo al nostro personaggio sparatutto, BP, e troviamo la proprietà che dovrebbe essere sul percorso o sulla
‫classe.
‫Le impostazioni predefinite entrano nei dettagli e sotto sparano a un personaggio.
‫Puoi vedere che abbiamo una rotazione proprio qui che abbiamo configurato e abbiamo la nostra classe di armi, che è un
‫menu a discesa che mi permette di scegliere se la pistola è la pistola C++.
‫Ed è qui che torna utile una convenzione di denominazione.
‫Le cose con il prefisso BP underscore sono i progetti.
‫Quindi vogliamo il fucile di sottolineatura AB BP.
‫Andremo avanti e selezioneremo il salvataggio della compilazione, andremo sulla scena e premiamo play.
‫Ora, si spera di non avere errori sulla generazione di una pistola.
‫La pistola dovrebbe essere generata.
‫Bene.
‫E per scoprire se lo è, possiamo F8 e dare un'occhiata alla sagoma del mondo.
‫Se ingrandisco un po' il contorno del mondo, posso cercare il fucile di sottolineatura BP.
‫Evviva.
‫Abbiamo un fucile di sottolineatura BP nel momento in cui è in mezzo al nulla e non è correttamente l'ID bambino.
‫Sarà l'argomento della prossima lezione.
‫Quindi ci vediamo lì.