UGUI:unity graphic user interface(Unity图形用户界面)
NGUI:外部插件
UGUI:unity自带的UI(在NGUI的基础上创建)
1.创建UI(层级面板)-create-ui
Canvas:画布(所有的UI都必须作为canvas的子物体)(以像素为但单位)
Canval Scale调节为Scale with Screen Size(调节成主流分辨率)
EventSystem:事件系统(接受交互事件(点击/拖拽/滑动/输入等))(不要删除)
操作:T工具(矩形工具)
1.选中控件的空白处进行移动(按住Shift可以沿一个方向移动)
2.先选中一个角+Shfit:等比缩放
3.先选中一个角+Alt:以中心缩放
Rect Transform:矩形变换(继承于Transform)
-------------Text------------------
1.Rich Text富文本:<属性名1><属性名2>文本内容属性名2>属性名1>
粗体:XXX
斜体:XXX
文字大小:
文字颜色:
OverFlow:溢出处理(当文字大小超出控件大小时,overflow可以显示完全)
RayCast Target:是否接受射线碰撞(不需要添加碰撞器)
2.Effect组件:
Shadow:阴影
OutLine:描边
---------------Image------------
1.Source Image:显示图片(必须为Sprite 2d and UI格式)
2.Set Native Size:保持原有大小
3.Image Type:图片格式
Sliced:九宫格切图(注意:要求这一类图中心纯色不影响拉伸)
(将一张图从左往右,从上往下分为9部分,1,3,7,9不拉伸,
2,8部分横行拉伸,4,7部分纵向拉伸,5部分可同时拉伸)
Tilled:平铺模式
Filled:填充模式(可用来实现血条/技能CD等效果)
---------------Button------------
1.interacable:是否可交互(不勾选则为disabled状态)
2.onclick(委托):当点击
------直接在面板上指定------
1.分类管理事件:写一个点击要响应的函数(可带参数)(public)
2.将方法指定给按钮的onClick (游戏物体 - 选择脚本 - 选择方法
------动态添加----------
startBtn.onClick.AddListener(OnStartBtnClick);
动态添加实例:
void Start () {
//动态添加事件:将OnStartBtnClick方法指定给按钮的onclick
//函数:无返回值且无参;
startBtn.onClick.AddListener(OnStartBtnClick);
}
public void OnStartBtnClick()//当开始按钮被点击时
{
print("开始游戏");
}
---------Toggle:复选框----------
isOn:是否勾选
Graphic:指定CheckMark
--------ToggleGroup:单选框--------
1.创建空物体 - 挂载ToggleGroup
allow switch off:是否允许所有开关关闭
2.将所有的Toggle放在空物体下作为子物体,将ToggleGroup指定给所有的Toggle
--------LayOut布局组件(水平布局/垂直布局/网格布局)-----------
1.Horizontal Layout group:控制子物体横向排列
2.Vertical Layout Group:控制子物体纵向排列
3.Grid LayOut Group:控制子物体按照cell size进行网格排列
-------RectTranform(矩形变换工具)---------(适配:在不同的机型上UI正常显示)
1.pivot:轴心(所有的变换都依赖与轴心)(0-1)(面板中蓝色的空心圆)
2.Anchors:锚点(对应面板上白色的风扇)
MinX:相对于父物体左边框的比例 MinY:相对于父物体下边框的比例
MaxX:相对与父物体右边框的比例 MaxY:相对于父物体上边框的比例
anchoredPosition:当锚点的四个点重合时,当前的坐标相对于锚点的位置;
-------Slider:滑动条---------(声音大小/速度/血条/进度条等)
制作3D血量条跟随:
1.通过Slider制作好血条
2.将渲染Slider的Canvas的RenderMode调整为WorldSpace
三种模式分别对应屏幕覆盖模式(UI永远显示在屏幕最上层)
/屏幕摄像机模式(可通过调节distance改变与摄像机的距离,从而让3D游戏物体显示在UI的上面)
/世界模式(可旋转/可调节Canvas大小)
3.将整个Canvas作为需要跟随的3D物体的子物体,调节缩放或者画布大小
4.用脚本控制是否与摄像机朝向相同;
-------DropDown:下拉列表---------
1.修改DropDown上的Options可以修改选项
2.修改Template上的item可以修改最终实例化的选项
3.onValueChanged(int index);//最终index表示我们选择了哪一个选项,下标从0开始
-------ScrollView:滚动区域(当一个页面不能完全显示内容时,使用滚动方式显示剩余的部分)---------
1.将所有要显示的内容全部放到一个空物体(空物体大小为所有子物体大小之和)下作为子物体(可以使用布局组件)
2.创建Image,将显示区域的大小调整好,将要滚动的区域作为Image的子物体
3.给Image添加一个组件ScrollRect,将要滚动的内容指定给ScrollRect的content
4.给Image添加组件Mask(以父物体的大小显示子物体的大小)
-------RawImage---------:
小地图的制作:
1.创建新的摄像机作为小地图渲染摄像机,调节摄像机的视角(俯视)
2.在Assets面板创建Render Texture,将Render Texture作为小地图摄像机的Target Texture
(将小地图渲染的内容映射到一张纹理上)
3.创建RawImage,将Render Texture作为Raw Image的Texture;(设置遮罩)
4.添加小图标(面片Quad,放在人物头顶)作为人物的子物体,设置渲染层
5.添加脚本控制小地图摄像机的跟随