RectTransformのsizeDeltaが0になる
RectTransform の設定で幅を stretch させたとき、
オブジェクトのサイズの取得をしようとすると
なんと幅が 0.0f で返ってくる。
サイズを変更するときは sizeDelta で問題なかった。
stretch じゃなければ、sizeDelta で幅を取得することも問題なかった。
が、幅を stretch させた瞬間、やっぱり 0.0f が返ってくる。
Debug.Log( "sizeDelta = " + rectTransform.sizeDelta );
▼出力結果
sizeDelta = (0.0, 0.0)
他のパラメータを探ってみる
とりあえずなんでもいいから手当たり次第に
他のパラメータで取得できないかログに吐き出してみる。
Debug.Log( "offset : " + rectTransform.offsetMin + " - " + rectTransform.offsetMax );
Debug.Log( "anchorPos : " + rectTransform.anchoredPosition );
Debug.Log( "rect : " + rectTransform.rect );
Debug.Log( "localScale : " + rectTransform.localScale );
Debug.Log( "sizeDelta : " + rectTransform.sizeDelta );
▼出力結果
anchor : (0.0, 0.0) - (1.0, 1.0)
offset : (0.0, 0.0) - (0.0, 0.0)
anchorPos : (0.0, 0.0)
rect : (x:0.00, y:-407.00, width:453.00, height:407.00)
localScale : (1.0, 1.0, 1.0)
sizeDelta : (0.0, 0.0)
あった……ありました……
rect の width height だとちゃんと取れるみたいですね。
初投稿とご挨拶
Photo by Nehemias Godinez
初めまして。SprFieldと申します。
Unity5を触ってゲームっぽい画面作って遊んでたら楽しくなってきたので
その過程で提供できそうな情報があったら
このブログに載せていこうかなと思っています。
願わくは……あわよくば……!
そのままの勢いでゲーム作れることを期待して
気分で書き綴っていこうと思います。
意思が段々と弱まっているあたりが完全にフラグですが、
生ぬるい目で見守っていただけたら幸いです。