環境
Unity 2019.3.7f1
移動方法
ゲームオブジェクトなどはTransformコンポーネントをもっており、
この数値をスクリプトからいじることで移動できます。
一方、テキストなどのUIはTramsformコンポーネントではなく、
RectTransformコンポーネントを持っています。
したがってRectTransformコンポーネントの値をいじることで移動させることができます。
具体例
実際にテキストオブジェクトを動かしてみましょう。
前提の作業内容
1.新規スクリプト作成(スクリプト名は"Test"にした)
2.テキストオブジェクト作成
3.空のオブジェクト作成
4.新規スクリプトを空のオブジェクトにドラッグ&ドロップ
スクリプト名"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コンポーネントの数値をいじれるようになる。
あとは実行するとテキストが動きます。