21

レンダリング モードのワールド空間が設定された UI キャンバスがあります。このキャンバスに属するすべての UI 要素について、エディタの RectTransform コンポーネントに「左」、「右」、「上」、「下」の変数が表示されます。コードを介してこれらの変数にアクセスする方法はありますか?

4

5 に答える 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

インスペクタに表示された値から、対応する境界が のアンカーによって形成された長方形内にある場合、LeftRightTopおよびが正であることが私の分析である。BottomRectTransform

offsetMin.xいつものようLeftにこの評価offsetMin.yBottom満たしますがoffsetMax.x、そうRightでない場合もありますoffsetMax.yTop

offsetMax準拠させるために、単に反対の値を使用しました (基本的なスペースの変更)。

于 2015-11-26T21:52:44.343 に答える