Unity笔记 UGUI (画布 锚点 事件 遮罩 )

1 Canvas
所有UI gameobject都要是canvas的子。
Canvas可以存在多个。
Canvas决定UI控件如何渲染:
screen space overlay,2d UI
screen apace camera, 3d UI 需要指定一个摄像机,这里就可以添加粒子了。
world space,对话泡或玩家名字什么的,这种模式canvas不控制rect transform组件。

在canvas下ui gameobject是按照树形顺序依次渲染的。
sorting layer可以控制渲染次序。

2 Rect Transform
这个组件取代transform出现在ui gameobject上。
anchor是这个组件里独特的属性,决定ui gameobject在父变化后如何变化。
大部分鼠标都可以来调整rect transform,pivot 是这个rect transform的中心,而且不一定在rect内部。

anchors 值是%对于父。
control points(蓝点)值是固定距离到anchors。
pivot值是一个%对于control points。

属性:
pos,是pivot到父anchor点的距离。
width和height,是大小,单位和pos一样都是像素。
anchor,4个anchor被代表为三角的gizmo。每个anchor对应rect transform的每个corner(小蓝点),这个距离是固定的。
anchor设置的值是父控件区域内的位置。
当4个anchor在一起时,当父控件缩放时子控件就会一直在anchor的位置上(百分比单位),且没有缩放。
当4个anchor分开时,当父控件缩放时子控件要保持corner和4个anchor的距离就会被缩放。
常见情况是子的corner和anchor重合,这样子控件就按照父缩放的百分比来缩放了。
还有一种是父的corner和anchor重合,这样可以保证子到父的边缘距离不变化,只是改变子的大小,只和上方cornet重合这样可以达到横向缩放纵向不缩放的目的。
选中子后拖拽父可以快速预览anchor效果,会有preview字样。
按住shift拖动anchor,控件的corner也会一同改变。
当anchor不在一起时(4、2、1个),posx posy width height会动态变化显示成left top right bottom。
anchor preset窗口,这些预设也可以使用alt 或 shift来控制pivot,和position。
pivot,是中心,左下是(0,0 )。
rotation,有必要用的是z,3dUI。
scale,和size的区别,调整size不会影响到子,scale则不同。scale通常用在动画效果上,而不是UI外观。scale设置负数可以弄flipping效果,size不会。

rect transform有两种模式blueprint或raw,这会影响编辑方式。
使用driven rect transform后有些值就会变灰不能改变了。

3 Button
包括:
2个必要组件,image和script。
1个子,text(可以删除,如果没有文字显示需要)。
interactable可以取消,这样就成了静态。
transition有3种模式:colortint spriteswap animation
animation,可以自动生成animation和ac,直接编辑。多个控件公用同一个ac,添加animator组件,选择同一个ac。
Event,可选一个gameobject和它的function(public,return void,1 or no parameters must be float int string bool object)

4 Image
很多控件都使用这个组件。
image 组件四种用法,simple(单图) sliced(9宫格) tiled(平铺) filled(显示一部分)

5 Text
text 组件:
richtext,这里详解
还有用的比较多的有outline(描边),有个outline组件可以添加
官方手册

6 Events and Event Triggers
EventSystem组件:
有个first selected,这个是设置进入场景后默认控件,可以直接用space按键触发。
有些控件(Button)有默认的事件触发列表,但是有些(Image)需要手动添加。

7 Slider
Slider包含一些子控件共同完成slider

8 Transitions
见button部分,重复教程。
补充各状态说明:
normal,通常状态
highlighted,hover or 被选中
pressed,pressed 但是没有释放
disabled,不可interact-bale

9 Scroll Rect
可以手动添加scrollrect这个组件到gameobject中。
content指定scroll的内容的rect。下面的属性决定如何移动,到边界时的反弹、惯性、横竖限制等。也可以指定scrollbar。
scroll 经常和mask共存。
建立mask,添加image组件,添加mask组件,mask会使用image来做为mask范围。

10 Scrollbar
一些前面介绍过的组件组合。

11 Mask
重复教程,见scollrect。

你可能感兴趣的:(unity)