‫Ehi, bentornato.
‫In questo video, lavoreremo per mostrare il testo sullo schermo per farci sapere che il gioco sta iniziando.
‫E questo è il primo passo per mostrare il conto alla rovescia per far sapere al giocatore che il
‫gioco non è ancora iniziato, ma inizierà presto.
‫Ora, questo comporterà eventi implementabili del progetto.
‫Un evento implementabile Blueprint è una funzione C++ che possiamo chiamare da C++, ma in realtà implementiamo
‫la funzionalità sul lato del progetto.
‫Quindi potremmo avere la nostra classe C++ come la modalità di gioco e possiamo avere una funzione contrassegnata
‫come un progetto, evento implementabile, e quindi possiamo implementare quel comportamento nei progetti.
‫Quindi, quando chiamiamo la funzione C++ contrassegnata come evento implementabile del progetto, l'evento nel progetto
‫verrà attivato.
‫E verrà richiamata qualsiasi logica del progetto che colleghiamo a quell'evento nel progetto.
‫Quindi creerò una funzione di evento implementabile del progetto qui in carri armati, le modalità di gioco e gli eventi
‫implementabili del progetto non possono essere privati.
‫Quindi lo aggiungerò alla sezione protetta.
‫Ora farò di questa una funzione nulla e chiamerò semplicemente questo gioco di inizio.
‫Ora, per renderlo un evento implementabile del progetto, devo assegnargli una macro della funzione U con la
‫funzione U.
‫Specificare l'evento implementabile del progetto.
‫Ora, una volta contrassegnato questo evento implementabile del progetto, non è nemmeno necessario assegnargli un corpo di
‫funzione qui in C++.
‫Unreal Engine si aspetta che implementiamo la funzionalità per questo nei progetti, ma possiamo chiamarla
‫da C++ ed è esattamente quello che faremo qui in Handle Game Start.
‫Quindi, subito dopo aver impostato il tank e le variabili del controller del giocatore, chiamerò start game
‫e ora possiamo compilarlo.
‫E tornando qui nell'editor, aprirò la modalità di gioco dei carri armati BP ed è qui che
‫possiamo implementare la funzione.
‫Quindi, se facciamo clic con il pulsante destro del mouse e scriviamo start game, ecco l'evento start game che è stato creato non
‫appena abbiamo dichiarato la funzione e gli abbiamo assegnato la macro della funzione con l'evento implementabile del progetto.
‫Quindi, sul lato C++, chiamiamo questo e nei progetti questo evento sta rispondendo ad esso.
‫Possiamo testarlo con un semplice nodo di stringa di stampa e per la stringa possiamo dire Avvia gioco.
‫Ora, se premiamo play, vedrò l'inizio del gioco in alto a sinistra.
‫Quindi sappiamo che il nostro evento implementabile del progetto sta funzionando.
‫Ora, quello che vorremmo che questo evento facesse è mostrare un widget che contiene del testo che informa il giocatore che il gioco sta
‫per iniziare, il che significa che dobbiamo creare un widget da mostrare.
‫Quindi creerò una nuova cartella nella cartella dei progetti e chiamerò questi widget e farò doppio
‫clic sui widget.
‫Ed è qui che creerò un nuovo progetto di widget.
‫Ora, se faccio clic con il pulsante destro del mouse e vado all'interfaccia utente, ecco Widget Blueprint.
‫Ora, se faccio clic su questo, creerò un nuovo progetto di widget e chiamerò questo W BP
‫per Widget Blueprint, sottolineando il widget di inizio del gioco.
‫E se faccio doppio clic su questo, aprirò l'editor Widget Blueprint e vedrai che
‫sembra un po' diverso dall'editor Blueprint che siamo abituati a vedere.
‫E questo perché questo è per un widget.
‫I widget sono utili per visualizzare cose sullo schermo come il testo.
‫Ora c'è molto qui e creeremo solo un widget molto semplice che mostra il testo.
‫Esistono diversi tipi di elementi che possiamo aggiungere a un progetto di widget come bordi, pulsanti,
‫caselle di controllo, immagini e così via.
‫Ma quello che ci interessa è questo qui che dice Testo.
‫Ora guarda in basso qui nel pannello della gerarchia, vedrai che abbiamo il widget generale di avvio del gioco WB
‫in alto.
‫E se facciamo clic su quello, possiamo modificare le proprietà di questo widget.
‫Ora possiamo trascinare gli elementi del widget su questa gerarchia.
‫Quindi cercherò nella tavolozza il pannello della tela e lo trascinerò nella mia gerarchia.
‫Ora un pannello canvas ci consente di posizionare gli elementi del widget e impostarli nella posizione desiderata sullo schermo in
‫modo da poter trascinare un elemento di testo direttamente sul grafico.
‫E vedrai nella gerarchia questo nuovo elemento sotto il pannello della tela.
‫E dice, Testo.
‫Blocco di testo.
‫Ora, questo blocco di testo tra virgolette è il testo che viene impostato automaticamente per questo widget di testo.
‫E qui nel pannello dei dettagli, con questo widget di testo selezionato sotto contenuto, vediamo una proprietà di testo ed
‫è impostata su blocco di testo.
‫Ma possiamo impostarlo su qualsiasi testo desideriamo, ad esempio Preparati.
‫Ora, dopo aver impostato questo per prepararsi, vedrai che il testo qui sullo schermo dice: Preparati.
‫Quindi l'editor Widget Blueprint ci consente di personalizzare l'avviso dei widget in alto a sinistra dello
‫schermo, questo medaglione qui, questo è chiamato un'ancora.
‫Il nostro widget di testo è posizionato sullo schermo rispetto all'ancora.
‫Quindi, se le dimensioni dello schermo cambiano, la distanza da quell'ancora rimarrà costante.
‫E possiamo cambiare l'ancora se vogliamo.
‫Ad esempio, possiamo impostare il nostro widget di testo relativo a un'ancora al centro dello schermo andando
‫al pannello dei dettagli e sotto lo slot vediamo le ancore.
‫E se faccio clic sul menu a discesa, posso selezionare questa icona che ha un quadrato nel mezzo.
‫Se lo seleziono ora, l'ancora è al centro dello schermo e se voglio che il mio widget
‫sia completamente centrato, posso cambiarne la posizione X e Y qui sotto la categoria dello slot in modo da poterlo impostare su zero
‫per la posizione X e zero per la posizione Y e scorrendo con la rotellina del mouse per ingrandire, vedrai che è nell'angolo
‫in alto a sinistra come al centro dello schermo.
‫Ora questo campo di allineamento qui può permetterci di centrarlo perfettamente scegliendo valori di 0. 54 X e 0. 54 Y, e ora
‫è completamente centrato al centro dello schermo.
‫Ora, per iniziare un widget di gioco, probabilmente sarà appropriato mettere questo testo un po' più in
‫alto.
‫Quindi per Posizione Y, posso fare clic e trascinarlo a sinistra, il che renderà il valore Y della posizione negativo
‫nell'editor del progetto del widget l'asse y punta verso il basso.
‫Quindi, se vogliamo aumentare il nostro widget di testo, renderemo quella posizione y un valore inferiore.
‫Lo metterò qui a circa -300.
‫Ora giù nella categoria aspetto, posso cambiare un certo numero di proprietà per questo testo.
‫Se faccio clic sul menu a discesa per il carattere, posso modificare la dimensione del carattere per dire qualcosa come 42.
‫Ora per il carattere tipografico invece del grassetto.
‫Mi piace il carattere tipografico normale.
‫Penso che ora stia un po' meglio.
‫Nota che il testo del nostro widget di testo è più grande del rettangolo verde qui, ma possiamo ridimensionare questo
‫rettangolo verde.
‫E mentre sto cambiando il rettangolo, vedrai qui nel pannello dei dettagli che la dimensione X e la dimensione y
‫stanno cambiando.
‫Ora, nota che la posizione X si è leggermente spostata da quando l'ho cambiata.
‫Posso rimetterlo a zero e poiché l'allineamento per x è 0. 5, è perfettamente centrato.
‫Quindi ora ho un widget che dice Preparati.
‫L'unica cosa che resta da fare è aggiungerlo al viewport in modo da poterlo vedere sullo schermo.
‫Noterai che se premo play e inizio a giocare, non vedo quel widget sullo schermo.
‫Questo perché dobbiamo aggiungerlo attivamente allo schermo, ed è per questo che abbiamo creato questo evento
‫implementabile del progetto nella modalità di gioco in modo da poter aggiungere questo widget allo schermo qui.
‫Quindi parliamo di come farlo.
‫Adesso.
‫Il modo per creare un widget dai blueprint è utilizzare un nodo di creazione widget.
‫È possibile fare clic con il pulsante destro del mouse nel grafico degli eventi per qualsiasi progetto e iniziare a digitare il nome di
‫un nodo, quindi selezionare quel particolare nodo.
‫Il nodo di cui abbiamo bisogno è creare widget.
‫Ora vedrai che dice Crea Coolness Widget.
‫E questo perché non appena ho aggiunto il nodo Crea widget, ho selezionato la classe Widget Blueprint qui
‫nel menu a discesa della classe.
‫Ciò è necessario affinché Unreal Engine sappia quale classe di widget creare.
‫Ora, dopo aver utilizzato un nodo di creazione widget, utilizziamo un nodo Aggiungi al riquadro di visualizzazione per aggiungere effettivamente questo
‫widget al riquadro di visualizzazione e quindi possiamo vederlo sullo schermo nel gioco.
‫Si noti che i cavi di esecuzione sono collegati e anche che il nodo di creazione widget restituisce questo output
‫blu e questo dovrebbe essere collegato all'input di destinazione in add to viewport poiché aggiungi a viewport
‫deve sapere quale widget aggiungere al viewport e il nodo di creazione widget restituisce il valore di quel widget.
‫Quindi ora che sai come creare un widget nei progetti, entrerai nella classe della modalità di gioco dei
‫carri armati BP e utilizzerai un nodo di creazione widget.
‫Lo collegherai dal nostro cavo di esecuzione dell'evento implementabile del progetto il.
‫Abbiamo chiamato Start Game.
‫Ora nel nodo Crea widget, dobbiamo selezionare la classe del widget da creare, quindi seleziona WB inizia il widget di gioco, quel
‫nuovo progetto del widget che abbiamo appena creato e quindi usa un nodo Aggiungi al viewport per aggiungere effettivamente questo
‫nuovo widget al viewport e aggancia su i cavi di esecuzione.
‫E non dimenticare di collegare il valore restituito da create widget all'input di destinazione in add to viewport.
‫Quindi metti in pausa il video e aggiungi questi nodi al progetto della modalità di gioco del carro armato ora.
‫Quindi sono qui nella melodia Tanks Game Mode Blueprint e farò clic con il pulsante destro del mouse e digiterò
‫crea widget e sceglierò Crea nodo widget.
‫Ora nota che dice Costruisci nessuno.
‫E questo perché lo dirà fino a quando non selezioniamo la classe di widget appropriata nel menu a discesa
‫della classe.
‫Ma prima di farlo, collegherò il cavo di esecuzione dall'inizio del gioco degli eventi.
‫Quindi otteniamo effettivamente questa funzionalità eseguita non appena il nostro gioco di avvio dell'evento implementabile del progetto
‫viene chiamato da C++.
‫Ora per il menu a discesa della classe, selezionerò WP Start Game Widget e ora il titolo del nodo
‫cambia per dire Crea WP Start Game Widget Widget.
‫Quindi ora possiamo vedere che questo è un nodo di creazione widget.
‫Ora farò clic sul filo di esecuzione e trascinerò fuori, quindi digiterò aggiungi alla finestra.
‫E quindi se seleziono aggiungi a viewport, i cavi di esecuzione vengono automaticamente collegati per
‫me, ma non collega il valore restituito da create widget all'input di destinazione per l'aggiunta a viewport.
‫Quindi ho bisogno di fare clic e trascinarlo da solo.
‫Quindi ora, quando Start Game viene chiamato da C++ e dalla classe della modalità di gioco, eseguiremo questa
‫logica del progetto che risulterà nella creazione di un nuovo widget basato sul widget WP Start Game e quindi lo
‫aggiungeremo al viewport.
‫Quindi farò clic su Riproduci e c'è il widget Preparati.
‫Ora abbiamo detto che questo mostrerà un timer per il conto alla rovescia, ma non abbiamo ancora
‫implementato quella funzionalità, quindi arriverà presto.
‫Quindi, in sintesi, abbiamo creato il progetto Start Game Widget e per ora contiene solo del testo che
‫dice Preparati.
‫Abbiamo anche utilizzato un nodo di creazione widget e un nodo di aggiunta al viewport per aggiungere questo widget al viewport in modo da
‫poterlo vedere non appena il gioco inizia.
‫E abbiamo avviato questa funzionalità utilizzando il nostro evento implementabile del progetto che abbiamo creato nella classe C++ in
‫modalità gioco chiamata Avvia gioco nei video a venire, cambieremo il testo in questo widget in fase di esecuzione in
‫modo che mostri quanto tempo è rimasto su quel timer di inizio partita in modo che il giocatore sappia
‫quanto tempo aspettare prima di poter iniziare effettivamente a giocare.
‫Ci vediamo presto.