UI 对象的锚点(最小值、最大值)值和枢轴点值RectTransform
决定 UI 蓝色点所在位置的因素。
如果按住 Shift 键并单击每个预设,下图中圈出的属性将会发生变化。然后,您可以复制每个变量并将它们放入代码中。
这些属性由脚本控制RectTransform.anchorMin
, RectTransform.anchorMax
and RectTransform.pivot
.
不太确定是什么Texture2D
您问题中的代码与此有关,但以下是设置每个预设的函数:
//------------Top-------------------
void topLeft(GameObject uiObject)
{
RectTransform uitransform = uiObject.GetComponent<RectTransform>();
uitransform.anchorMin = new Vector2(0, 1);
uitransform.anchorMax = new Vector2(0, 1);
uitransform.pivot = new Vector2(0, 1);
}
void topMiddle(GameObject uiObject)
{
RectTransform uitransform = uiObject.GetComponent<RectTransform>();
uitransform.anchorMin = new Vector2(0.5f, 1);
uitransform.anchorMax = new Vector2(0.5f, 1);
uitransform.pivot = new Vector2(0.5f, 1);
}
void topRight(GameObject uiObject)
{
RectTransform uitransform = uiObject.GetComponent<RectTransform>();
uitransform.anchorMin = new Vector2(1, 1);
uitransform.anchorMax = new Vector2(1, 1);
uitransform.pivot = new Vector2(1, 1);
}
//------------Middle-------------------
void middleLeft(GameObject uiObject)
{
RectTransform uitransform = uiObject.GetComponent<RectTransform>();
uitransform.anchorMin = new Vector2(0, 0.5f);
uitransform.anchorMax = new Vector2(0, 0.5f);
uitransform.pivot = new Vector2(0, 0.5f);
}
void middle(GameObject uiObject)
{
RectTransform uitransform = uiObject.GetComponent<RectTransform>();
uitransform.anchorMin = new Vector2(0.5f, 0.5f);
uitransform.anchorMax = new Vector2(0.5f, 0.5f);
uitransform.pivot = new Vector2(0.5f, 0.5f);
}
void middleRight(GameObject uiObject)
{
RectTransform uitransform = uiObject.GetComponent<RectTransform>();
uitransform.anchorMin = new Vector2(1, 0.5f);
uitransform.anchorMax = new Vector2(1, 0.5f);
uitransform.pivot = new Vector2(1, 0.5f);
}
//------------Bottom-------------------
void bottomLeft(GameObject uiObject)
{
RectTransform uitransform = uiObject.GetComponent<RectTransform>();
uitransform.anchorMin = new Vector2(0, 0);
uitransform.anchorMax = new Vector2(0, 0);
uitransform.pivot = new Vector2(0, 0);
}
void bottomMiddle(GameObject uiObject)
{
RectTransform uitransform = uiObject.GetComponent<RectTransform>();
uitransform.anchorMin = new Vector2(0.5f, 0);
uitransform.anchorMax = new Vector2(0.5f, 0);
uitransform.pivot = new Vector2(0.5f, 0);
}
void bottomRight(GameObject uiObject)
{
RectTransform uitransform = uiObject.GetComponent<RectTransform>();
uitransform.anchorMin = new Vector2(1, 0);
uitransform.anchorMax = new Vector2(1, 0);
uitransform.pivot = new Vector2(1, 0);
}