Unity RectTransform

来源:互联网 发布:淘宝上怎么买qq号 编辑:程序博客网 时间:2024/05/04 23:11

作者的话

RectTransform是ugui的基石,所以这个类需要有一种简单直接的理解方法,写这篇文字希望能加快大家对ugui的理解速度,减少试验时间。特别是anchoredPosition ,sizeDelta ,描述的比图片还要简洁直观。

关键词定义

  • 矩形框:RectTransform的边界框。
  • 轴点:矩形框的旋转点和控制点,用相对于矩形框的归一化坐标表示, (0,0)矩形框的下左角,(1,1)矩形框的右上角。
  • 锚点:用归一化坐标描述父级矩形框中的一个比例位置。
  • 锚框:如果锚定不在一个点上,那么会有四个锚边,这四个锚边组成一个矩形叫做锚框。

RectTransform: Transform 类

RectTransform 表示矩形的 位置,大小,锚点和轴点信息。
RectTransform 用于GUI 但同样可以用于其它想到的情况。它被用来存储操控矩形的位置,大小,锚点并且支持多种基于父级RectTransform的缩放变形。

RectTransform.anchoredPosition(读写)

anchoredPosition是轴点相对于锚点的的位置。如果锚定不在一个点上那么anchoredPosition是轴点相对于锚框中心点的位置。

RectTransform.anchoredPosition3D(读写)

和RectTransform.anchoredPosition一样,但是返回的是一个vector3向量,z==transform.localRotation.z

RectTransform.anchorMax(读写)

锚框上右角在父级RectTransform中的归一化位置

RectTransform.anchorMin(读写)

锚框下左角在父级RectTransform中的归一化位置

RectTransform.offsetMax(读写)

RectTransform矩形框上右角相对于锚框上右角的偏移量

RectTransform.offsetMin(读写)

RectTransform矩形框下左角相对于锚框下左角的偏移量

RectTransform.pivot(读写)

轴点的位置

RectTransform.rect(只读)

RectTransform的矩形框,使用tranform本地空间坐标表示

RectTransform.sizeDelta(读写)

RectTransform.sizeDelta=矩形框大小(width,height)-锚框大小(width,height)
当锚定在一个点时锚框大小==(0,0)

RectTransform.GetLocalCorners (Vector3[] fourCornersArray)

获取矩形框四个角的坐标,使用tranform本地坐标表示

RectTransform.GetWorldCorners (Vector3[] fourCornersArray)

获取矩形框四个角的坐标,使用世界坐标表示

SetInsetAndSizeFromParentEdge(RectTransform.Edge edge, float inset, float size);

布置RectTransform,指定参考边(上,下,左,右) 和相对于参考边的距离inset 还有和inset相同方向上的大小

RectTransform. SetSizeWithCurrentAnchors (RectTransform.Axis axis, float size)

设置RectTransform轴向上的大小,指定轴向(X,Y) 和 大小

0 0