【Unity/C#】TextMeshProUGUI(文字表示)の基本と仕組み

コードの型

コードから文字を書き換えるときは、このように記述します。

C#

// 1. TMProという機能を使うために必要
using TMPro;

public class MyGame : MonoBehaviour
{
    // 2. インスペクターでTextMeshProのテキストを割り当てる
    public TextMeshProUGUI myText;

    void Start()
    {
        // 3. 文字を書き換える
        myText.text = "Hello, Unity!";
    }
}

コードの仕組み

TextMeshProUGUI は、Unityが標準で持っている「古い文字表示機能」を劇的に進化させたものです。

  • UI(User Interface)専用: 画面に固定表示する文字(スコア、HP、メッセージなど)を扱うための専用パーツです。
  • 高精細: どんなに文字を大きく拡大しても、ぼやけずにクッキリ表示されるのが最大の特徴です。
  • 機能の塊: 文字の色、フォントの種類、影の付け方、光彩(アウトライン)など、見た目を装飾する機能が最初から全部詰め込まれています。

活用例(スコアの更新)

あなたの連打ゲームのように、数字がリアルタイムで変わる時に使います。

C#

 public TextMeshProUGUI scoreText;

void UpdateScoreText()
{
    // スコアの変数と文字を合体させて表示!
    scoreText.text = "Score: " + score;
}

その他(重要ポイント)

  • using TMPro; の忘れ物: これをコードの冒頭に書かないと、Unityは TextMeshProUGUI が何のことか分からずエラーを出します。一番多いミスなので注意!
  • なぜ UGUI が付くの?: 「Unity UIシステム(uGUI)で使う、TextMeshProのパーツ」という意味です。昔は単に Text と書いていましたが、今は TextMeshProUGUI が圧倒的におすすめです。
  • インスペクターでの紐付け: 忘れないでくださいね。コードを書くだけでは動かず、Unityの画面上で「どのテキスト枠を操作するか」をドラッグ&ドロップで指定する必要があります。

まとめ

TextMeshProUGUI は、いわば「画面に文字という情報を映し出すための看板」です。

  • text というプロパティに文字を代入すれば、看板の書き換え完了!
  • あとはフォントを変えたり、色を変えたり、影をつけたりするのは、すべてUnityの画面(インスペクター)上の設定で完了!

コードは「何を映すか(中身)」を決めるだけで、見た目のデザインはUnityの画面で自由自在にできるのが、この機能の素晴らしいところです。

コメント

タイトルとURLをコピーしました