Unity/TMPro/Text
提供: 初心者エンジニアの簡易メモ
目次
2DのTMProのテキストを追加
- ヒエラルキーで右クリックで、UI/TextMeshProを追加
- Window/TextMeshPro/Import TMP Essential Resources
- (サンプルを使いたい場合)Window/TextMeshPro/Import TMP Example and Extras
2DのTMProのテキストをスクリプトで入れる(uGUI)
using TMPro; public class SampleScene : MonoBehaviour { void Start() { TextMeshProUGUI textPro = GameObject.Find("Text (TMP)").GetComponent<TextMeshProUGUI>(); textPro.text = "hoge"; } }
2DのTMProのテキストをスクリプトで入れる(通常)
using TMPro; public class SampleScene : MonoBehaviour { void Start() { TextMeshPro textPro = GameObject.Find("Text (TMP)").GetComponent<TextMeshPro>(); textPro.text = "hoge"; } }
色変更
textPro.text = "<color=#F1F1F1>□</color>";
テキストの左右の余白を動的に設定する
テキストのRectTransformのanchorがstretch(その他のmiddleやcenterじゃない)のときで、左右の余白が、0のとき、左右の余白を、10に設定する
TextMeshProUGUI textMesh = transform.GetComponent<TextMeshProUGUI>(); if (textMesh != null) { RectTransform rectTransform = transform.GetComponent<RectTransform>(); bool isCenterOrMiddle = (rectTransform.anchorMin.x == 0.5f && rectTransform.anchorMax.x == 0.5f) || (rectTransform.anchorMin.y == 0.5f && rectTransform.anchorMax.y == 0.5f); // ancher presentが、centerやmiddleのものを除外 if (isCenterOrMiddle) { continue; } // 左右のmarginが0のものについて、marginを10ずつ設定 if (rectTransform.offsetMin.x == 0 && rectTransform.offsetMax.x == 0) { // 左と右のオフセットを設定 rectTransform.offsetMin = new Vector2(10, rectTransform.offsetMin.y); // left rectTransform.offsetMax = new Vector2(-10, rectTransform.offsetMax.y); // right } }