ゲーム画面上のテキストをスクリプトから操作する【Unity】

Unityのゲーム画面にテキストを表示し、スクリプトから操作する方法を説明します。なお、プログラムからUIオブジェクトを生成してレイアウトを作成するにはUIElementsを使うとよいようですが、ひとまずここでは簡易的な方法として、UnityのGUI画面上からUIオブジェクトを配置していきます。

開発環境

  • Unity 2019.4.1f1

Text UIオブジェクトを配置する

まずは、UnityのGUI画面からUIオブジェクトのTextを選択して、配置してみましょう。

UI要素はCanvasの子オブジェクトとして配置されます。Canvasについては以下の記事をご覧ください。

スクリプトとText UIオブジェクトを連携させる

ゲーム全体を管理する空(カラ)のGameObjectに以下のスクリプトをアタッチさせます。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
public class Manager : MonoBehaviour
{
    public Text textUI;

    // Start is called before the first frame update
    void Start()
    {
        textUI.text = "Sample Text";
    }
 
    // Update is called once per frame
    void Update()
    {
    }
}

スクリプトの中にpublicフィールドを配置すると、Inspector上でも以下のようにそのスクリプトがアタッチされたGameObjectにpublicフィールドが表示されるようになります。

このText UIにHierarchy上のリンクさせたいText UIオブジェクトをドラッグ・アンド・ドロップすることで、スクリプト上のpublicフィールドに設定したText UIオブジェクトがHierarchy上のTextとリンクするようになります。

ゲームを実行すると、以下のようにスクリプトで設定した「Sample Text」という文字列が表示されました。

※ 文字の場所とサイズは見やすいように変更しています

これで、スクリプト上からText UIオブジェクトの文字を操作することができるようになりました。

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)