Unity3D基础论-UGUI进阶

Unity3D基础论-UGUI进阶_第1张图片

一、Camera

1、

-Skybox:天空盒子,世界的边框

设置: Window– Lighting中设置

-Solid Color: 纯色背景

-Depth only

修改Depth较大的摄像机为DepthOnly,后面的摄像机也可以拍摄到画面

-Don’t clear

不清除buffer缓冲区

2、

每个游戏物体都有一个Layer层,Culling Mask表示需要让这个摄像机渲染哪个层的物体

3、

透视视图:默认看到的样式,用在3D场景中,物体远小近大

正交视图:不管物体离摄像机多远,看到的大小都是一样的

摄像机视野,默认60即可

4、

摄像机的拍摄范围

Near:离摄像机多近的物体可以被拍摄到

Far:离摄像机多远的物体能够被拍摄到

当一个物体离摄像机的距离在[Near, Far)之间的时候,这个物体可以被拍摄到

5、

摄像机拍摄到的画面在屏幕的位置

6、

深度

哪个摄像机的Depth越大,优先显示这个摄像机拍摄到的画面

二、Canvas

1、  

Overlay:

-画布始终展现在相机的最前方,其他的物体不能越过

-画布虽然也是GameObject,但是不能进行移动,旋转,缩放。。。

Camera:使用指定相机渲染

-画布依然不能进行移动,旋转,缩放。。。

-画布将不再默认展示在相机的最前方,其他的GameObject可以穿过画布

PlaneDistance:画布到相机的距离

SortingLayer:UI层的选择

OrderInLayer:同层情况下的,前后显示的编号,编号越大越靠前

WorldSpace:

-可以对画布进行移动,旋转,缩放。。。

2、

和Depth相似: 假如一个场景中有多个Canvas,优先展示Order值大的Canvas

3、

UI视图的拉伸方式

-ConstantPixel Size

按照像素拉伸:

对于同样的一个场景,屏幕越大,看到的东西就越多

-ScaleWith Screen Size

按照屏幕位置进行缩放

一般进行屏幕适配,都会采用这种方式


设计界面的参数,参考的分辨率

在这个分辨率的基础上进行UI的绘制,其他的分辨率适当拉伸

ConstantPhysicalSize  固定物理尺寸          ScaleWithScreenSize   随屏幕变换而变换

三、Panel

在Canvas扮演一个容器的角色,可以将其他的UI元素放到Pannel中进行统一管理

四、Anchors

锚点: 作用是定位

Image的四个顶点离四个锚点的距离始终是不变的

Rect Transform中的锚点  按住Alt点击才可以快速移动UI

五、中心点


UI元素进行旋转和缩放的时候的中心点

六、布局组件

GridLayoutGroup:网格布局,可以使所有的子物体进行网格样式的布局

1、Padding

内间距,子物体距离父物体边缘的距离

在设置内间距的时候,需要根据StartCorner来进行设定。

2、StartCorner:

子物体从父物体的哪个角开始布局,默认左上角

3、CellSize:

单元格的大小,指的是父物体中每一个子物体的大小

4、Spacing:

单元格之间的间距x:水平方向间距y:垂直方向间距

5、StartAxis

从哪个轴开始布局,默认水平方向

6、ChildAligment

子物体的对齐方式

7、Constraint

Flexible:没有约束条件

FixedColumCount:固定列

FixedRowCount:固定行

HorizontalLayoutgroup(水平布局)、VerticalLayoutGroup(垂直布局):

Padding: 边距     Spacing: 间距    Child Alignment : 子物体对齐方式   ChildFoceExpend  自适应宽高

示例代码:

using UnityEngine.UI;    //有关UI的组件都在这个命名空间中

OnClick:      Button

gameObject.GetComponent().onClick.AddListener(() =>

{

Debug.Log("点击了");

});

onValueChanged:  Toggle/Slider

gameObject.GetComponent().onValueChanged.AddListener(isOn =>

{

Debug.Log(isOn);

});

parent.FindChild("Text")

父物体获取子物体

Tranform:

GetChild获取子物体GetSiblingIndex获取该对象的同级索引。

childCount子对象个数SetSiblingIndex设置同级对象的索引。

回调函数:

//UGUI回调接口

using UnityEngine.EventSystems;

接口方法

当开始拖动一个物体的时候,执行这个方法

//一个拖拽,只会执行一次

IBeginDragHandler    OnBeginDrag

在拖动的过程中调用,持续调用

IDragHandler          OnDrag

拖拽完成后调用

IEndDragHandler       OnEndDrag

当鼠标移动到这个物体内部的时候

IPointerEnterHandler    OnPointerEnter

当鼠标移移出物体范围的时候

IPointerExitHandler     OnPointerExit

鼠标点下的时候触发

IPointerDownHandler     OnPointerDown

鼠标抬起的时候触发

IPointerUpHandler       OnPointerUp

鼠标点击一次调用

IPointerClickHandler     OnPointerClick



你可能感兴趣的:(Unity3D基础论-UGUI进阶)