当前位置: 首页 > ds >正文

Unity UI系统中RectTransform详解

一、基础代码示例

public GameObject node; 
var rect = node.GetComponent<RectTransform>();Debug.Log($"anchoredPosition----{rect.anchoredPosition}");
Debug.Log($"offsetMin.x--{rect.offsetMin}");
Debug.Log($"offsetMax.x--{rect.offsetMax}");
Debug.Log($"rect.sizeDelta----{rect.sizeDelta}");
Debug.Log($"rect.rect----{rect.rect}");
Debug.Log($"rect.anchorMax----{rect.anchorMax}");
Debug.Log($"rect.anchorMin----{rect.anchorMin}");

场景结构

  • Parent 对齐方式
    在这里插入图片描述

  • 节点结构
    在这里插入图片描述


二、X轴有拉伸的情况

1. 向上对齐

参数面板

在这里插入图片描述

  • Left: Parent左边(AD)到Child左边(EH)的距离偏移,向右为正,向左为负。
  • Right: Parent右边(BC)到Child右边(FG)的距离偏移,向左为正,向右为负。
  • PosY: CD边到Child中心点(M)的距离偏移,向上为正,向下为负。
  • Height: Child的高度(EH或FG)。
日志输出

在这里插入图片描述

anchoredPosition
anchoredPosition----(0.00, -20.00)

表示原点O(AB的中点)到Child中心点M的偏移。

在这里插入图片描述

offsetMinoffsetMax
offsetMin--(68.00, -70.00)
offsetMax--(-68.00, 30.00)
  • offsetMin: 左下角锚点(A)到Child左下角(B)的偏移。
  • offsetMax: 右上角锚点(D)到Child右上角(C)的偏移。

在这里插入图片描述

sizeDelta
rect.sizeDelta----(-136.00, 100.00)
  • sizeDelta.x: Child宽度相对Parent的宽度,即 sizeDelta.x = -(68 * 2) = -136
  • sizeDelta.y: 因Y轴未被拉伸,等于Child高度 = 100

在这里插入图片描述

rect
rect.rect----(x:-32.00, y:-50.00, width:64.00, height:100.00)

表示Child自身中心(A)到自身左下角(B)的偏移。

在这里插入图片描述

anchorMaxanchorMin
rect.anchorMax----(1.00, 1.00)
rect.anchorMin----(0.00, 1.00)
  • anchorMin: Child左下角锚点坐标。
  • anchorMax: 右上角锚点坐标。

在这里插入图片描述

当锚点发生变化时:

在这里插入图片描述
在这里插入图片描述


2. 居中对齐

参数面板

在这里插入图片描述
在这里插入图片描述

日志输出

在这里插入图片描述


3. 向下对齐

参数面板

在这里插入图片描述
在这里插入图片描述

日志输出

在这里插入图片描述


三、Y轴有拉伸的情况

1. 向左对齐

参数面板

在这里插入图片描述

  • PosX: Parent左边(AD)到Child中心点(M)的水平距离偏移,向右为正,向左为负。
  • Top: Parent上边(DC)到Child上边(HG)的垂直偏移,向下为正,向上为负。
  • Width: Child宽度(HG)。
  • Bottom: Parent下边(AB)到Child下边(EF)的垂直偏移,向上为正,向下为负。

在这里插入图片描述

日志输出

在这里插入图片描述

anchoredPosition
anchoredPosition----(100.00, 30.00)

O为原点(AB的中点),M为Child的中点。

在这里插入图片描述

offsetMinoffsetMax
offsetMin--(68.00, 30.00)
offsetMax--(132.00, 30.00)
  • offsetMin: 左下角锚点(A)到Child左下角(C)的偏移。
  • offsetMax: 右上角锚点(B)到Child右上角(B)的偏移。

在这里插入图片描述

sizeDelta
rect.sizeDelta----(64.00, 0.00)
  • sizeDelta.x: Child宽度 = 64
  • sizeDelta.y: 因X轴未被拉伸,sizeDelta.y = 0

在这里插入图片描述


2. 居中对齐

参数面板

在这里插入图片描述
在这里插入图片描述

日志输出

在这里插入图片描述


3. 向右对齐

参数面板

在这里插入图片描述
在这里插入图片描述


四、XY轴同时拉伸

参数面板

在这里插入图片描述
在这里插入图片描述

  • Left: Parent左边(AD)到Child左边(EH)的距离偏移,向右为正,向左为负。
  • Right: Parent右边(BC)到Child右边(FG)的距离偏移,向左为正,向右为负。
  • Top: Parent上边(DC)到Child上边(HG)的垂直偏移,向下为正,向上为负。
  • Bottom: Parent下边(AB)到Child下边(EF)的垂直偏移,向上为正,向下为负。
日志输出

在这里插入图片描述


五、无拉伸的情况(以左下角对齐为例)

参数面板

在这里插入图片描述
在这里插入图片描述

日志输出

在这里插入图片描述

  • sizeDelta.x: 等于Child宽度
  • sizeDelta.y: 等于Child高度

总结

  • anchoredPosition: 表示Child中心点相对于锚点原点的偏移。
  • offsetMin / offsetMax: 表示Child与锚点之间的偏移量。
  • sizeDelta: 表示Child相对于Parent的尺寸变化。
  • rect: 表示Child自身的矩形区域。
  • anchorMin / anchorMax: 定义Child的锚点位置。
http://www.xdnf.cn/news/10182.html

相关文章:

  • 用美图秀秀批处理工具定制专属图片水印的方法详解
  • 【技术支持】安卓11开机启动设置
  • IDEA修改JVM内存配置以后,无法启动
  • TC/BC/OC P2P/E2E有啥区别?-PTP协议基础概念介绍
  • C语言操作Kafka
  • 3DMAX+Photoshop教程:将树木和人物添加到户外建筑场景中的方法
  • java对接bacnet ip协议(跨网段方式)
  • Kotlin-特殊类型
  • 安卓逆向篇JEB 反编译断点动态调试加密算法还原逻辑会员绕过
  • 亚马逊商品评论爬取与情感分析:Python+BeautifulSoup实战(含防封策略)
  • InnoDB引擎逻辑存储结构及架构
  • 【Netty系列】Reactor 模式 2
  • 奇异值分解(SVD):线性代数在AI大模型中的核心工具
  • 使用原生前端技术封装一个组件
  • 面试题 08.08. 有重复字符串的排列组合【 力扣(LeetCode) 】
  • Smith圆图知识学习笔记
  • Linux 文件 IO 性能监控与分析指南
  • QEMU/KVM课程大纲暨学习路线(1)
  • 榕壹云医疗服务系统:基于ThinkPHP+MySQL+UniApp的多门店医疗预约小程序解决方案
  • 算法打卡第11天
  • BKP(备份寄存器)和 RTC(实时时钟)
  • 飞牛fnNAS的Docker应用之迅雷篇
  • leetcode538.把二叉搜索树转换为累加树:反向中序遍历的数值累加之道
  • 半导体厂房设计建造流程、方案和技术要点-江苏泊苏系统集成有限公司
  • 跨平台浏览器集成库JxBrowser 支持 Chrome 扩展程序,高效赋能 Java 桌面应用
  • Apache SeaTunnel 引擎深度解析:原理、技术与高效实践
  • 【Linux 基础知识系列】第四篇-用户与权限管理
  • c/c++的opencv霍夫变换
  • 阻止H5页面中键盘收起的问题
  • CTFSHOW Pwn94 WP