Unity的UGUI——Rect Transform组件详解
2018-01-19 16:50
1201 查看
Rect Transform组件详解
Transform组件对应游戏中的3D布局,而Rect Transform组件所对应的是2D布局。Transform表示一个单独的点,Rect Transform表示一个(内置一个UI元素)的矩形,如果一个Rect Transform的父节点也是一个Rect Transform,那么子Rect Transform可以指定其如何相对于父矩形的位置和大小。
Pos(x, y, z):矩形的pivot的位置(相对于锚点)
With/Height:矩形的宽和高。
Anchors:矩形的锚点,用来灵活定位矩形在父物体中的位置。Anchors的位置被表示为父物体的宽度和高度的分数(或百分比)。0.0(0%)对应于左边(Left)或者底边(Bottom),0.5(50%)对应中间,1.0(100%)对应于右边(Right)或者顶边(Top)。但是Anchors并不仅限于在各个边或中间,它们可以被锚定到父物体的任意位置。
Min/Max:是Anchors的位置属性,Min/Max的值对应于Scene视图中四个手柄的位置,具体的对应方向如下图所示:
Anchors四个手柄位置状态(分离或合并)会影响到矩形的位置的字段的改变:
合并时会产生固定的宽度(Width)和高度(Height),
分离时矩形会和父物体一起拉伸
当所有的锚点手柄都在一起时位置字段显示为PosX,PosY,Width和Height,其中PosX和PosY的值指的是矩形的pivot相对于锚点的位置,With和Height的值指的是矩形的宽度和高度。此时矩形与锚点保持固定的偏移,即PosX,PosY,Width和Height这四个字段的值不会改变,矩形不会产生形变。如图所示:
当锚点手柄分离时位置字段会完全或者部分的改变为 Left, Right, Top and Bottom.这些字段定义了由锚点所决定矩形。
(1)如果锚点是水平分开的,则会应用Left和Right字段。此时位置字段变为:Left,Right,PosY和Height,此时矩形的左右锚定到固定的位置与锚定点保持固定的偏移。即Left,Right,PosY和Height的值不会改变,但矩形会被左右拉伸,如下图所示:
(2)如果锚点是垂直分开的,则会应用Top和Bottom字段。此时位置字段变为:PosX,Width,Top和Bottom,矩形的位置字段PosX,Width,Top和Bottom的值保持固定,矩形会被上下拉伸。如下图所示:
(3)如果锚点是水平垂直分开的则会应用Left,Right,Top,Bottom字段,此时位置字段变为:Left,Right,Top和 Bottom,矩形与锚定点的偏移保持固定,即Left,Right,Top和 Bottom的值不会改变。矩形会跟随父物体一起被上下左右拉伸,如下图所示:
Rotation:围绕pivot的旋转属性
Scale:缩放属性
本文原创转载请注明出处。
相关文章推荐
- Unity UGUI——Rect Transform组件(基础属性)
- Unity UGUI——Rect Transform组件(Anchors)
- Unity UGUI——Rect Transform组件(Anchor Presets)
- 关于 Unity UGUI 中修改 Mask 组件下 Image 等子节点组件的材质无效的问题
- unity开发之八:如何在UGUI其他的组件上添加点击事件(解答)
- unity4.6 Ugui中文教程之UGUI Rich Text详解
- UGUI组件详解(基本)
- 关于Unity5.5+中的UGUI的ImageMask组件在安卓设备不能正常显示的问题的解决方案
- Unity如何修改UGUI下组件的长度和宽度
- UGUI背包实现详解之二——UGUI组件如何搭配使用做出背包
- UGUI之Text组件详解
- Unity2017.1官方UGUI文档翻译——Rect Transform
- [Unity UGUI]点击和长按组件
- Unity入门操作_ UGUI_ 基础组件_024
- Unity UGUI——Text组件(Character)
- Unity UGUI——Text组件(Paragraph)
- 【Unity】UGUI Image组件检视面板编辑器扩展(ImageEditor类)
- Unity 检测UGUI组件的RaycasrTarget是否勾选
- Unity中对于UGUI的RectTransform组件的理解
- 面向组件编程之Unity 7.怎样脚本控制物体旋转和移动 关键字:画圆&&Translate/transform.Translate,transform.Rotate