レンダリング モードのワールド空間が設定された UI キャンバスがあります。このキャンバスに属するすべての UI 要素について、エディタの RectTransform コンポーネントに「左」、「右」、「上」、「下」の変数が表示されます。コードを介してこれらの変数にアクセスする方法はありますか?
質問する
37885 次
5 に答える
42
それらは
RectTransform rectTransform;
/*Left*/ rectTransform.offsetMin.x;
/*Right*/ rectTransform.offsetMax.x;
/*Top*/ rectTransform.offsetMax.y;
/*Bottom*/ rectTransform.offsetMin.y;
于 2015-06-11T14:53:16.163 に答える
6
RectTransform rt = GetComponent<RectTransform>();
float left = rt.offsetMin.x;
float right = -rt.offsetMax.x;
float top = -rt.offsetMax.y;
float bottom = rt.offsetMin.y;
TL;DR
インスペクタに表示された値から、対応する境界が のアンカーによって形成された長方形内にある場合、Left
、Right
、Top
およびが正であることが私の分析である。Bottom
RectTransform
offsetMin.x
いつものようLeft
にこの評価offsetMin.y
をBottom
満たしますがoffsetMax.x
、そうRight
でない場合もありますoffsetMax.y
。Top
offsetMax
準拠させるために、単に反対の値を使用しました (基本的なスペースの変更)。
于 2015-11-26T21:52:44.343 に答える