Migliorare i testi di Unity3D
Migliorare i testi di Unity3D
Migliorare i testi di Unity3D
Come rendere più belli i testi nel motore grafico Unity3D
Il vostro applicativo sta prendendo finalmente forma!
Avete cominciato a implementare tutto quello che avevate in mente, tutto funziona a dovere.
C’è solo un piccolissimo problema: i testi di Unity3D sono un pugno in un occhio.
Dunque come fare per migliorarli?
Abbiamo due possibilità:
- Nel caso non si abbia la necessità di utilizzare dei testi dinamici (che cambiano via script) è possibile utilizzare delle semplici immagini in PNG. Possiamo realizzarle noi da soli con un programma come Photoshop oppure affidarci a siti web come Flamingtext o Cooltext che permettono di generare delle PNG da un nostro testo.
- Se invece abbiamo bisogno di un testo che si dovrà modificare via script come un punteggio, sull’Asset Store c’è TextMesh Pro. L’utilizzo di questo plugin è semplicissimo. Basta installarlo e quando dovremo inserire del testo nel Canvas della UI basterà selezionare TextMesh Pro al posto del solito Text.
Ora possiamo agire con esso tramite script. Ecco un semplicissimo esempio, in questo caso lo script è collegato direttamente all’oggetto appena aggiunto:using TMPro; // INCLUDO ANCHE QUESTA USING PER POTER USARE GLI OGGETTI IN QUESTIONE public class Manager_punteggio : MonoBehaviour { // Variabili per lo script TextMeshProUGUI Testo_punteggio; public static int Punteggio = 0; // Use this for initialization void Start () { // Accedo al componente testo del oggetto e uso il metodo SetText per impostare il testo Testo_punteggio = gameObject.GetComponent<TextMeshProUGUI>(); Testo_punteggio.SetText(""); } // Update is called once per frame void Update () { // Per impostare il testo posso anche usare la proprietà text come per il testo di default Testo_punteggio.text = Punteggio.ToString(); } }
Come vedete è possibile impostare il testo sia con il metodo SetText() che con la proprietà text.
Come già detto in questo caso l’oggetto è collegato direttamente allo script in questione ma è ovviamente possibile in altri casi collegare l’oggetto a un altro script con una variabile pubblica e accedere da essa al componente TextMeshProUGUI tramite il metodo GetComponent.