😽

[Unity] uGUIのRectTransformを操作すならDrivenRectTransformTrackerも忘れずに

2022/10/16に公開約800字

UnityEngine.DrivenRectTransformTracker

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() を呼びます。(これにより、トラッカーの登録が解除されます)

GitHubで編集を提案

Discussion

ログインするとコメントできます