【Unity初心者】テキストや画像などUIの移動方法 RectTransform


環境

Unity 2019.3.7f1

移動方法

ゲームオブジェクトなどはTransformコンポーネントをもっており、
この数値をスクリプトからいじることで移動できます。
一方、テキストなどのUIはTramsformコンポーネントではなく、RectTransformコンポーネントを持っています。
したがってRectTransformコンポーネントの値をいじることで移動させることができます。

具体例

実際にテキストオブジェクトを動かしてみましょう。

前提の作業内容

1.新規スクリプト作成(スクリプト名は"Test"にした)
2.テキストオブジェクト作成
3.空のオブジェクト作成
4.新規スクリプトを空のオブジェクトにドラッグ&ドロップ

 スクリプト名"Test"の中身は次のように書く

Test
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//スクリプトでUI(テキストなど)扱うときはこれ必須!!

public class test : MonoBehaviour
{    
    public RectTransform a;//RectTransform型の変数aを宣言 作成したテキストオブジェクトをアタッチしておく

    //スタート関数
    void Start()
    {        
    }

    //アップデート関数
    void Update()
    {
        a.position += new Vector3(0.1f, 0, 0);//毎フレームx座標を0.1ずつプラス        
    }
}

スクリプトを書いてスクリプトセーブ後、空のオブジェクトのインスペクターはこのようになる。

この赤丸部に、あらかじめ作成したテキストオブジェクトをアタッチする。

こうすることでテキストのRectTransformコンポーネントの数値をいじれるようになる。

あとは実行するとテキストが動きます。