😽
[Unity] uGUIのRectTransformを操作すならDrivenRectTransformTrackerも忘れずに
UnityEngine.DrivenRectTransformTracker
使用方法
UnityEngine.RectTransform
. anchoredPosition を操作するとします。
操作したら、UnityEngine.DrivenRectTransformTracker.Add()
を呼び出します。
UnityEngine.DrivenRectTransformTracker m_Tracker = new UnityEngine.DrivenRectTransformTracker(); // メンバー変数にすべし
UnityEngine.RectTransform m_RectTransform;
//...
// X軸をずらす
var anchoredPosition = m_RectTransform.anchoredPosition ;
anchoredPosition.x += width ;
m_RectTransform.anchoredPosition = anchoredPosition ;
// トラッカーに登録する
m_Tracker.Add(this, m_RectTransform, DrivenTransformProperties.AnchoredPositionX);
すると、操作されたRectTransformがInspector Windowで、編集ができない状態になります。
作法として、MonoBehaviour.OnDisableで UnityEngine.DrivenRectTransformTracker.Clear()
を呼びます。(これにより、トラッカーの登録が解除されます)
Discussion