Passa variabili Intero o Float a un widget utilizzando le funzioni di conversione ToText(Int) e ToText(Double). Le funzioni di conversione "ToText" convertono una variabile di tipo Intero o Float in un tipo Testo che si può visualizzare sul tuo widget. Una variabile non viene visualizzata sul widget se rimane di tipo non di testo.
La funzione di conversione è in realtà chiamata In testo (Double) nell'editor invece di In testo (Double), ma ha lo stesso scopo.
Di seguito sono riportati due esempi che illustrano l'utilizzo di entrambe le funzioni di conversione.
In testo (Int): un widget Tracciatore personalizzato tiene traccia degli avanzamenti di un giocatore quando raccoglie un certo numero di pancetta.
In testo (Double): un widget Finestra di dialogo popup personalizzato apre un popup con possibili risposte a una domanda di quiz. Un timer del conto alla rovescia viene utilizzato per chiudere il timer se non è stata selezionata una risposta prima dello scadere del tempo.
In testo (Int)
In questo esempio, viene creato un widget Tracciatore personalizzato per tenere traccia della quantità di pancetta raccolta dal giocatore. Utilizza i passaggi nel Pop-up dell'UI per creare un Widget utente e denominarlo Tracker_Widget.
Impostazione del widget
Per impostare il Tracker_Widget, aggiungi i seguenti widget nell'ordine presentato di seguito al pannello Gerarchia:
Sovrapposizione
Immagine (Nidifica sotto l'Overlay e rinomina in Sfondo.)
Casella impilata (Nidifica sotto l'Overlay)
Blocco di testo (Nidifica sotto la prima Casella impilata e rinomina in Titolo, questo è il titolo del tuo tracciatore "{Tracker Title}")
Casella impilata (Nidifica sotto la prima Casella impilata.)
2 Blocchi di testo (Nidifica sotto la seconda Casella impilata.) Rinomina il primo blocco di testo in CurrentValue "{Current}" e il secondo blocco di testo in Testo sapore "Pancetta raccolta".
Hai bisogno di un blocco di testo che includa il numero corrente di pancetta raccolta dal giocatore. Il Tracker_Widget è impostato per includere un blocco di testo TrackerTitle in modo che la proprietà Nome possa passare dal modello di visualizzazione al blocco di testo Corrente:
Imposta il tuo widget utilizzando lo stesso
Ecco cosa vede il giocatore nel gioco quando raccoglie la pancetta:
Impostazione della funzione conversione
La funzione di conversione In testo (Int) viene utilizzata per trasmettere la quantità attuale di pancetta al dispositivo Tracciatore attraverso il blocco di testo CurrentValue.
Per impostare le funzioni di conversione In testo (Int), crea Associazioni visualizzazione e associa i valori impostati nel widget al dispositivo Tracciatore.
Apri Finestra > Associazioni visualizzazione.
Seleziona il blocco di testo CurrentValue nel widget, quindi fai clic su +Aggiungi widget nella finestra Associazioni visualizzazione.
Nella casella a sinistra dell'associazione della visualizzazione, seleziona CurrentValue > Testo. Ciò significa che Testo passerà alla proprietà Testo del blocco di testo CurrentValue.
Nella casella a destra, fai clic nel campo e seleziona Funzioni di conversione > In testo (Integer). Nell'associazione per il blocco di testo CurrentValue vengono visualizzati diversi campi.
Per saperne di più sulle funzioni di ciascun campo, consulta la sezione delle proprietà In testo (Int/Double).
Questo esegue una funzione di conversione chiamata In testo (Integer) che prende un valore e restituisce una variabile di tipo Testo da passare nella proprietà Testo del Blocco di testo CurrentValue.
Seleziona l'icona della catena accanto a Valore e seleziona MVVM_UEFN_Tracker > Valore.
La variabile Valore del modello di visualizzazione Tracciatore passa alla funzione di conversione In testo (Integer). In questo modo la variabile Valore viene generata come proprietà Testo che viene poi passata alla proprietà Testo del blocco di testo CurrentValue.
Risultato finale
Per utilizzare il tuo nuovo widget, trascina un dispositivo Tracciatore nel progetto, quindi esegui le operazioni seguenti:
Nel pannello Dettagli del dispositivo Tracciatore, imposta il campo Widget HUD sul tuo Track_Widget.
Il Tracciatore può essere utilizzato per tenere traccia delle statistiche del punteggio e utilizzare gli oggetti collezionabili nel tuo livello per testare questa funzionalità.
Ogni volta che il giocatore raccoglie pancetta nel gioco, il tracciatore aumenta automaticamente del valore di punteggio impostato per ogni pancetta.
In testo (Double)
In questo esempio, utilizza il flusso di lavoro Variante finestra di dialogo modale del documento Pop-up dell'UI per creare un widget Finestra di dialogo popup personalizzato chiamato Trivia_Widget. Il Trivia_Widget mostra le domande di quiz di Fortnite a cui è necessario rispondere prima dello scadere del tempo limite.
Impostazione del widget
Fai clic con il pulsante destro del mouse su Esplora contenuti per visualizzare il menu contestuale.
Dal menu contestuale, seleziona Interfaccia utente > Blueprint widget > Variante finestra di dialogo modale.
Apri il widget e aggiungi i seguenti contenitori al pannello Gerarchia nell'ordine mostrato nell'immagine:
Sovrapposizione
Immagine
3 Caselle impilate
Un Overlay ospita l'intero widget come contenitore genitore. Successivamente, utilizza un widget Immagine per lo sfondo e, infine, più Caselle impilate nidificate per contenere tutto il contenuto, come ad esempio testi e pulsanti.
Aggiungi blocchi di testo e pulsanti alle tue caselle impilate come mostrato di seguito.
Avvolgi i blocchi di testo TimeLeft e TimeFlavorText in una Casella impilata in modo che TimeLeft sia aggiornato dinamicamente tramite un'associazione di visualizzazione alla variabile Tempo rimanente per il timeout nel modello di visualizzazione Finestra di dialogo popup.
Se ritieni che sia necessario avvolgere un widget con un contenitore in una struttura esistente, non è necessario rifare l'intero widget. Fai clic con il pulsante destro del mouse sul widget e seleziona Avvolgi con... o Sostituisci con... per aggiungere facilmente un nuovo pannello all'interno di un contenitore.
Aggiungi i pulsanti a una griglia 2x2. Poiché i pulsanti sono in una griglia 2x2, utilizza un Pannello griglia uniforme invece di una Casella impilata. Fai clic con il pulsante destro del mouse su Container_Buttons > Sostituisci con… > Pannello griglia uniforme.
Il pannello Griglia uniforme ti permette di organizzare facilmente i suoi widget figli in un pattern a griglia. Puoi anche impostare facilmente la spaziatura interna dello slot per ogni figlio.
Seleziona ogni pulsante singolarmente nella gerarchia per evidenziare il pulsante nella visualizzazione Designer principale.
Nella visualizzazione Designer principale, fai clic sulle frecce che circondano il pulsante per spostare il pulsante in una riga o colonna specifica dove vuoi che si trovi il pulsante.
Nell'esempio seguente, i pulsanti sono disposti da sinistra a destra e dall'alto verso il basso. I pulsanti sono stati rinominati Button1, Button2, Button3 e Button4.
Nel pannello Dettagli, imposta il Layout figlio > Spaziatura interna dello slot su 16px per i Container_Buttons.
Modifica questo valore come meglio credi per il tuo design.
Nella Casella impilata di contenuti, aggiungi un pulsante Silenzioso da utilizzare come pulsante Chiudi in seguito.
Aggiungi dei distanziatori tra i contenitori per rendere il contenuto più leggibile. Puoi farlo aggiungendo un widget Immagine dove vuoi che si trovino gli spazi, quindi nel pannello Dettagli utilizza le opzioni seguenti:
Pennello > Disegna come = Nessuno
Dimensione immagine (valori X e Y) = 35 (Può essere maggiore o minore a seconda del design.)
Si tratta di un modo facile da gestire per gestire la spaziatura tra gli elementi della UI senza fare affidamento sulla spaziatura interna.
Modifica il testo del pulsante per identificare facilmente ogni pulsante.
Apri le cartelle Fortnite > UI e crea un'istanza materiale di M_UI_Rectangle per creare un materiale di sfondo per il tuo pop-up quiz.
Da UMG, apri il widget utente e seleziona il widget Immagine di sfondo e, nel campo Pennello > Immagine, seleziona l'istanza materiale appena creata.
Aggiungi 32px di spaziatura interna nella Casella impilata di contenuti per rendere il pop-up più leggibile.
Impostazione della funzione conversione
L'associazione delle risposte dei pulsanti non sarà trattata in questa documentazione. Il tutorial riguarda invece l'associazione del testo TimeLeft alla variabile Float per il tempo rimanente per il timeout.
Apri Finestra > Associazioni visualizzazione.
Dal pannello Gerarchia, seleziona il widget blocco di testo TimeLeft. Nella finestra Associazioni visualizzazione, fai clic su +Aggiungi widget.
Nella casella a sinistra, seleziona TimeLeft > Testo. In questo modo viene trasmessa una qualche forma di valore alla proprietà Testo di TimeLeft.
Nella casella a destra, seleziona CreativeModalDialogViewmodel > Tempo rimanente per il timeout. Poi seleziona Funzioni di conversione > In testo (Double).
Passando il mouse sopra la variabile, si scopre che questo valore è un valore Float. La funzione di conversione In testo (Double) ti consente di convertire un valore Double/Float in una Variabile di testo e di visualizzarli nella tua UI.
Nella finestra Associazione visualizzazione vengono visualizzati diversi campi.
Per maggiori informazioni su questi campi, consulta la sezione delle proprietà In testo (Int/Double) del documento.
Fai clic sull'icona della catena accanto a Valore e seleziona CreativeModalDialogViewmodel > Tempo rimanente per il timeout > Seleziona.
La variabile Tempo rimanente per il timeout viene passata alla funzione di conversione In testo (Double) che restituisce il valore Float in un formato di testo leggibile dalla tua UI. La tua UI visualizza con precisione il tempo rimanente prima della chiusura del widget Finestra di dialogo popup.
Risultato finale
Trascina un dispositivo Finestra di dialogo a comparsa nel tuo progetto e procedi come segue:
In un dispositivo Finestra di dialogo a comparsa, imposta la Classe di override modello sul Trivia_Widget che hai creato.
Controlla Usa timeout finestra di dialogo.
Imposta la durata del timeout su 6 secondi o su qualsiasi intervallo di tempo che ritieni possa dare ai giocatori abbastanza tempo per vedere il pop-up e leggerlo.
Ora, quando viene visualizzato il widget Finestra di dialogo pop-up, puoi vedere il timer che si abbassa ogni secondo all'interno della finestra a comparsa.
Proprietà In testo (Int/Double)
Nella funzione di conversione In testo (Int) sono disponibili diversi campi. In testo (Double) condivide gli stessi campi se non diversamente specificato:
Valore: variabile Intero da passare alla funzione di conversione.
Segno sempre: aggiunge un segno positivo o negativo al prefisso dell'output di testo che indica se il valore è positivo o negativo. Se il valore è positivo, restituisce il testo come +{Value}. Se è negativo, restituisce il testo come -{Value}.
Utilizza Raggruppamento: determina se i valori sono raggruppati ma separati da quando il valore è superiore a 1000. Utilizzerà l'impostazione sensibile alle impostazioni culturali del tuo computer per l'indicatore di raggruppamento. Se attivata, restituisce il testo come 1.000. Se disattivata, restituisce il testo come 1000.
Cifre integrali minime: numero minimo di cifre intere da mostrare sul testo. Il valore predefinito è 1. Se si imposta un minimo su 1, verranno visualizzati gli 0 per gli interi con un numero di cifre inferiore alle cifre integrali minime. Ad esempio, se le cifre integrali minime sono impostate su 3 e il valore è attualmente 5, il testo restituisce 005.
Cifre integrali massime: numero massimo di cifre intere da mostrare nel testo. Il valore predefinito è 354. Ciò limita il testo a mostrare solo un numero massimo di cifre.
Numero minimo di cifre frazionarie (solo per In testo (Double)): numero minimo di cifre da mostrare dopo il punto decimale. Il valore predefinito è 0.
Numero massimo di cifre frazionarie (solo per In testo (Double)): numero massimo di cifre da mostrare dopo il punto decimale. Il valore predefinito è 3.
Modalità arrotondamento (solo per In testo (Double)): determina come il valore Float/Double arrotonda per eccesso al numero più vicino.
| Tipo | Descrizione | Esempio |
|---|---|---|
Da metà a pari | Arrotonda alla posizione più vicina; i legami equidistanti vanno al valore più vicino a un valore pari | 1,5 diventa 2, 0,5 diventa 0 |
Metà da zero | Arrotonda alla posizione più vicina; i legami equidistanti vanno al valore più distante da zero | -0,5 diventa -1,0, 0,5 diventa 1,0 |
Da metà a zero | Arrotonda alla posizione più vicina; i legami equidistanti vanno al valore più vicino a zero | -0,5 diventa 0, 0,5 diventa 0. |
Da zero | Arrotonda al valore più distante da zero, "più grande" in valore assoluto | 0,1 diventa 1, -0,1 diventa -1 |
Fino a zero | Arrotonda al valore più vicino a zero, "più piccolo" in valore assoluto | 0,1 diventa 0, -0,1 diventa 0 |
All'infinito negativo | Arrotonda al valore che è più negativo | 0,1 diventa 0, -0,1 diventa -1 |
All'infinito positivo | Arrotonda al valore che è più positivo | 0,1 diventa 1, -0,1 diventa 0 |