Unity3D中的Rect Transform总结

本文总结了Unity3D中的Rect Transform组件,包括锚点重合与不重合的情况。锚点重合时,子UI的位置以锚点为基准,而锚点不重合时,子UI的大小和位置会随父UI变化。重点介绍了锚点、Pivot点以及它们与位置、大小的关系。
摘要由CSDN通过智能技术生成

Unity3D中的Rect Transform总结:
Unity3D专门为UI组件设计的Rect Transform组件。Rect Transform和Canvas Renderer是UI控件必须携带的组件。
位置是以像素为单位,其具体的值则以锚点所在的位置为基准,表示与锚点的距离。
1、重点学习参考两个学习文档:感谢这两篇作者的技术文档,无私奉献,高风亮节。
(1)Unity3D之UGUI学习笔记(二):Rect Transform与Anchor
http://www.cnblogs.com/hammerc/p/4837650.html
(2)Unity进阶技巧 - RectTransform详解
http://www.jianshu.com/p/dbefa746e50d

2、分为锚点重合与锚点不重合两种
(1)锚点重合,四个小三角聚拢一起:
在UI中,子UI是相对父UI的位置而存在的,以在父UI上的子UI的锚点为原点,子UI的X和Y位置就是偏离锚点原点的距离。
锚点重合时,Max(X Y)和Min(X Y)的坐标值分别对应相同。
Rect Transform下位置处5个属性为:Pos X,Pos Y,Pos Z,Width,Height。
有Left、Center、Right、Top、Middle及Bottom六个设置项,这6个项目可以组合出9种形式的锚点。
首先有UI父对象作为底面板&#x

在UnityRectTransformTransform都可以用来表示游戏对象的位置、旋转和缩放。RectTransform主要用于UI元素在画布上的定位和排版,而Transform则用于3D场景游戏对象的定位和排版。它们的位置转换可以通过以下方式实现: 1. 从RectTransformTransform的转换 要将RectTransform的位置转换为Transform的位置,需要使用RectTransform的anchoredPosition属性和anchorMin、anchorMax属性,以及Canvas的scaleFactor属性。具体步骤如下: - 获取RectTransform的anchoredPosition属性,并将其转换为Canvas坐标系下的位置。 - 获取RectTransform的anchorMin和anchorMax属性,计算出UI元素的宽度和高度。 - 获取Canvas的scaleFactor属性,计算出Canvas坐标系和世界坐标系之间的缩放比例。 - 将Canvas坐标系下的位置转换为世界坐标系下的位置,即可得到Transform的位置。 2. 从TransformRectTransform的转换 要将Transform的位置转换为RectTransform的位置,需要使用Canvas的RenderMode属性和RectTransform的anchoredPosition属性。具体步骤如下: - 获取Canvas的RenderMode属性,判断Canvas的渲染模式是Screen Space还是World Space。 - 如果Canvas的渲染模式是Screen Space,直接将Transform的位置转换为屏幕坐标系下的位置。 - 如果Canvas的渲染模式是World Space,需要将Transform的位置转换为Canvas坐标系下的位置,然后再转换为RectTransform的anchoredPosition属性。具体步骤同从RectTransformTransform的转换。 需要注意的是,RectTransformTransform的坐标系不同,转换时需要注意坐标系的转换。此外,RectTransformTransform的旋转和缩放也需要进行转换。可以使用Transform的localRotation和localScale属性,或使用RectTransform的rotation和sizeDelta属性来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值