スポンサーリンク

【Unity】RectTransformの座標などをプログラムで変更する方法

Unity

Unity Version 2021.3.11f1(LTS)

RectTransformのrectでは変更できない

//RectTransformを取得する
RectTransform rectTransform = GetComponent<RectTransform>();

//変更出来ない
rectTransform.rect.position = new Vector2(100,200); //座標
rectTransform.rect.width = 100;  //横のサイズ
rectTransform.rect.height = 200; //縦のサイズ

一見rectで変更できるように見えますが、rectの内容は読み取り専用となっているので、値の書き換えができません。

X座標とY座標を変更する

RectTransformのanchoredPositionを使う

//RectTransformを取得する
RectTransform rectTransform = GetComponent<RectTransform>();

//変更できる
rectTransform.anchoredPosition = new Vector2(100,200);

RectTransformpositionを変更したい時は、anchoredPositionの内容を書き換えることで、変更することが出来ます!

widthとheightを変更する

RectTransformのsizeDeltaを使う

//RectTransformを取得する
RectTransform rectTransform = GetComponent<RectTransform>();

//変更できる
rectTransform.sizeDelta = new Vector2(100,200); //x = width ,y = height

RectTransformwidthheightを変更したい時は、sizeDeltaの内容を書き換えることで、変更することが出来ます!

それぞれ、「x = width」「y = height」に対応しています!

まとめ

RectTransformの座標を変更したりするときは、Transformとは変更する方法が違うので、注意してください!

お疲れさまでした!

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