スポンサーリンク

【Unity】RectTransformがStretchの時に縦と横のサイズを取得する方法

Unity

sizeDeltaでは取得できない

RectTransform rectTransform = GetComponent<RectTransform>();
Debug.Log("sizeDelta =" + rectTransform.sizeDelta);

sizeDeltaで取得しようとすると、Stretchによって補正した値の総量が取得されてしまいます。

rect.widthとrect.heightで取得する

RectTransform rectTransform = GetComponent<RectTransform>();

Debug.Log("rect.width =" + rectTransform.rect.width);
Debug.Log("rect.height =" + rectTransform.rect.height);

rect.widthrect.heightの値がsizeDeltaの時とは違う値になっています。

RectTransformの設定をCenterに戻してみると、デバッグログと同じ値になっています!

まとめ

Stretch状態のRectTransformのサイズを取得するときは、rect.widthrect.heightで取得することが出来ます。

心配なときは、Stretchの設定をCenterに戻して、値を確認すると安心です!

お疲れさまでした!

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