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

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的锚点位置。

相关文章:

  • C#面试问题41-60
  • gitLab 切换中文模式
  • 基于 HT for Web 的轻量化 3D 数字孪生数据中心解决方案
  • superior哥深度学习系列(大纲)
  • gbase8s数据库+mybatis问题记录
  • 004 flutter基础 初始文件讲解(3)
  • 【Vim】高效编辑技巧全解析
  • Flutter 4.x 版本 webview_flutter 嵌套H5
  • 【计算机网络】应用层协议Http——构建Http服务服务器
  • Flutter 嵌套H5 传参数
  • 芯片:数字时代的算力引擎——鲲鹏、升腾、海光、Intel 全景解析
  • 快捷键IDEA
  • [网页五子棋][匹配模式]创建房间类、房间管理器、验证匹配功能,匹配模式小结
  • Python打卡训练营Day40
  • 《 PyTorch 2.3革新:torch.compile自动生成CUDA优化内核全解》
  • 使用 SymPy 操作三维向量的反对称矩阵
  • 树莓派安装openwrt搭建软路由(ImmortalWrt固件方案)
  • 历年厦门大学计算机保研上机真题
  • Prevent this information from being displayed to the user 修复方案
  • day14 leetcode-hot100-26(链表5)
  • 有做全棉坯布的网站吗/网盘搜索引擎入口
  • 网站建设需要下载哪些软件有哪些/石家庄百度seo代理
  • 公司内部网站怎么做/武汉seo公司哪家专业
  • 微推客/seo技术外包
  • 网站开发建设类合同/恢复原来的百度
  • 自己做的网站怎么放视频教程/网站网址大全