• recttransform


    转载自https://www.jianshu.com/p/4592bf809c8b

    1.Anchor:子物体和父物体联系的桥梁,Anchors是由两个点确定的,他们就是AnchorMin以及AnchorMax,之所以anchorMax和anchorMin的值是小数,是因为其表征的是该点所在位置占父物体大小的比例,也就是图中黑色画线部分占灰色物体总长度和总宽度的比例

    • 当anchorMax与anchorMin相等时,Anchor呈现为一个点,我称之为锚点
    • 当anchorMax与anchorMin不相等时,Anchor呈现为一个框,我称之为锚框(即示意图中的情况)

    2.绝对布局

    所谓的绝对布局,就是出现锚点的情况,此时的recttransform面板中的属性变成了

     在绝对布局的情况下无论分辨率是多少,父物体多大,该UI元素的大小是恒定的

    而剩下的PosX,PosY,PosZ表征的就是Pivot (第三部分有关于Pivot的讲解) 到锚点的距离

    3.相对布局

    所谓相对布局,就是出现锚框的情况。在这种情况下UI元素的四个角,距离四个对应的锚点的距离是不变的,在这种情况下RectTransform的属性又变为了Left,Top,Right,Bottom,PosZ,其中的PosZ表征的是该元素到父物体在Z轴上的偏移,利用这个值可以调整UI元素的显示顺序,不过我用的不多,这里不作太多讨论。剩下的四个值应该很好理解了,就是UI元素的每一条边距离父物体的每一条边的距离。

    4.pivot

    Pivot中心点,就是该UI元素旋转缩放的中心点

    5.Offset

    OffsetMax的值值就是UI元素的右上角的坐标,减去AnchorMax的值,得到一个从AnchorMax指向元素右上角的向量(vector2类型)

    6.sizeDelta

    在锚点情况下,offsetMax和Min的起点相同,根据向量相减的三角形法则(不记得是不是这样说得了哈哈哈),可以得到一个新的向量,这个新的向量的X和Y的大小正好UI元素的宽和高相等,所以在这个时候去设置sizeDelta的值,可以直接调整UI元素的大小

    在锚框的情况下,offstMax减去Min,得到的将不再是UI元素的大小,而是一个新的奇怪的向量,这个向量代表的物理意义是,sizeDelta.x值就是锚框的宽度与UI元素的宽度的差值,sizeDelta.y的值就是锚框的的高度与UI元素的高度的差值

    7.rect

    只读,可以获取UI大小

    8.anchoredPosition

    通过直接设置anchoredPosition的值可以改变UI元素的位置,在使用锚点的情况下,anchoredPosition表征的是元素Pivot到Anchor的距离在使用锚框的情况下,anchoredPosition表征的是元素Pivot到锚框中心点的距离

    9.SetSizeWithCurrentAnchors(Animations.Axis axis, float size)

    这个方法无论在绝对布局还是相对布局的情况下,都可以通过直接设置rect中的widthheight值来改变UI元素的大小。

    rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 100);
    rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 100);
  • 相关阅读:
    Java 异常Exception e中e的getMessage()和toString()以及 e.printStackTrace();方法的区别
    js几秒以后倒计时跳转示例
    Java读取property配置文件
    js 设置下拉框的默认值
    JS的可枚举性
    Object的原型拷贝-create、assign、getPrototypeOf 方法的结合
    JS 事件循环机制
    vue nextTick深入理解-vue性能优化、DOM更新时机、事件循环机制
    vue 实战问题-watch 数组或者对象
    vue2.0读书笔记2-进阶
  • 原文地址:https://www.cnblogs.com/mcyushao/p/11400045.html
Copyright © 2020-2023  润新知