##1、Canvas三种渲染模式数据库
++1.1、Canvas画布编程
++++Canvas画布是全部UGUI控件的根类,全部UGUI控件的绘制都必须在Canvas上。设计模式
++++建立Canvas有如下两种方式:网络
--(1)直接添加Canvas。函数
--(2)添加控件的时候由系统自动添加。布局
++1.2、Canvas渲染模式学习
++++在Canvas组件当中能够经过RenderMode来设置Canvas的渲染模式。动画
++++Canvas总共有如下三种渲染模式:spa
--(1)Screen Space-Overlay:不须要UI摄像机,Canvas画布将会一直出如今摄像机的最前面。.net
--(2)Screen Space-Camera:须要一个UI Camera,支持UI前方显示3D模型和粒子系统。
--(3)World Space:UI控件称为3D场景当中一部分。
++1.3、Screen Space-Overlay模式
++++画布将呈如今摄像机最前面,其余全部物体都会被遮挡到,即便没有主摄像机,画布也会显示出来。
++1.4、Screen Space-Camera模式
++++该模式下能够设置Plane Distance为Canvas与摄像机的距离,三维物体处于Canvas与摄像机之间的物体将会被显示出来,Canvas后面的将会被覆盖。
++1.5、World Space模式
++++此模式下Canvas至关于三维世界中的一部分,至关于一个GameObject,能够对其进行平移,缩放,旋转。
##二、UGUI布局组件
++2.1、LayoutGroup组件
++++Unity为咱们提供了布局组件,便于对子控件进行布局,一个控件上面只能有一种布局组件,布局组件有如下三种:
--1、Horizontal Layout Group(水平布局)
--2、Vertical Layout Group(垂直布局)
--3、Grid Layout Group(网格布局)
++2.2、Horizontal Layout Group
++++属性:
--Padding:上下左右的边距。
--Spacing :子控件在水平方向上的间距。
--Child Alignment :子控件在水平方向上的排列方式。
--Child Force Expand :自适应宽高,是否强行扩大布局元素以填补额外可用的控件。
++2.3、Vertical Layout Group
++++属性:
--Padding :上下左右的边距。
--Spacing :子控件在垂直方向上的间距。
--Child Alignment :子控件在垂直方向上的排列方式。
--Child Force Expand :自适应宽高,是否强行扩大布局元素以填补额外可用的控件
++2.4、Grid Layout Group
++++属性:
--Padding :上下左右的边距。
--Cell Size :单元格的大小。
--Spacing :单元格在X与Y轴方向上的间距。
--Start Corner :第一个元素开始的位置。
--Start Axis :元素排列沿着哪个方向轴。
--Child Alignment :子元素对齐方式。
--Constraint :填充方式,能够固定行和列。
##3、拖动效果
++3.1、ScrollView
++++图1是使用滑动视图制做的一个界面视图,能够上下滑动查看更多的选项。
++++图2是ScrollView在Hierarchy视图当中的层级视图,其中:
--Viewport为滑动视图显示的内容,
--Scrollbar Horizontal为横向滑动条,
--Scrollbar Vertical为纵向滑动条。
++3.2、ScrollRect
++++ScrollView滑动视图当中起滑动功能的组件为ScrollRect,经过ScrollRect能够设置跟滑动相关的属性。
++++属性(如下属性均可以在程序中经过ScrollRect组件获取)
--Content :可滑动的区域。
--Horizontal, Vertical :水平,竖直方向是否可滑动。
--Movement Type :滑动方式,包括(无限制滑动,弹力限制,无弹力限制)
--Elasticity :回弹的弹力大小。
--Inertia :惯性。
--Deceleration Rate :减速的速率。
--Scroll Sensitivity :滑动的灵敏度。
--Horizontal Scrollbar :横向滑动条。
--Vertical Scrollbar :竖向滑动条。
++++其余经常使用的属性:
--normalizedPosition :滚动视图所处的位置,值的范围为(0, 0)至(1, 1)。
--horizontalNormalizedPosition :滚动视图水平方向上所处的位置,取值范围0~1。
--verticalNormalizedPosition :滚动视图竖直方向上的位置,取值范围为0~1。
++3.3、自定义滑动视图
++++步骤:
--步骤一: 建立滑动视图取名为 ScrollButton。
并给其添加ScrollRect组件。
--步骤二: 在ScrollButton下建立内容视图取名为Content。
并将其赋值给Scroll Rect的Content属性。
--步骤三: 给Content添加布局组件Vertical Layout Group,
让子视图可以垂直布局。
--步骤四: 给ScrollButton添加Mask组件,超过ScrollButton自己大小的不显示。
##4、回调函数
++4.一、EventSystem
++++EventSystem对象下有三个组件:
--(1)EventSystem:主要用于负责处理输入,射线投射以及发送事件。
--(2)StandaloneInputModule:继承自BaseInputModule。
--(3)TouchInputModule:继承自BaseInputModule。
++++BaseInputModule是一个基类模块,负责发送输入事件(点击,拖拽,选中)到具体对象。
++++一个场景当中只能有一个EventSystem,而且须要BaseInputModule组件才能协助工做
++4.二、UGUI的回调方法
++++输入模块StandaloneModule和TouchInputModule两个组件会检测到用户的一些输入事件,而且以事件的方式通知目标对象。实现这些回调方法须要实现相应的接口。
++++经常使用的回调事件:
--void OnPointerEnter(PointerEventData eventData) :IPointerEnterHandle :鼠标进入
--void OnPointerExit(PointerEventData eventData) :IPointerExitHandler :鼠标离开
--void OnPointerDown(PointerEventData eventData) :IPointerDownHandler :鼠标点下
--void OnPointerUp(PointerEventData eventData) :IPointerUpHandler :鼠标抬起
--void OnPointerClick(PointerEventData eventData) :IPointerClickHandle :鼠标点击
--void OnBeginDrag(PointerEventData eventData) :IBeginDragHandler :开始拖拽
--void OnDrag(PointerEventData eventData) :IDragHandler :拖拽中
--void OnEndDrag(PointerEventData eventData) :IEndDragHandler :结束拖拽
++4.三、事件使用示例
++++以给Button添加事件为例,给Button添加事件有三种方式:
--1、实现接口,触发回调事件。
--2、在Unity3D引擎当中绑定。
--3、给按钮添加监听事件。
++++(1)实现接口,触发回调事件
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class ButtonController: MonoBehaviour, IPointerClickHandler{
public void OnPointerClick(PointerEventData eventData){
Debug.Log(“Btn Click”);
}
}
++++(2)在Unity3D引擎当中绑定
public class ButtonController : MonoBehaviour{
public void ButtonClickListerner(){
Debug.Log(“立钻哥哥发出:按钮点击相应事件”);
}
}
++++(3)给按钮添加监听事件
void Start(){
button = GetComponent<Button>();
button.onClick.AddListener(BtnClick);
}
void BtnClick(){
Debug.Log(“BtnClickListener”);
}
#立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
++立钻哥哥推荐的拓展学习连接(Link_Url):
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
++++Unity引擎基础:http://www.javashuo.com/article/p-beommoeb-ka.html
++++Unity面向组件开发:http://www.javashuo.com/article/p-eigmuvut-dt.html
++++Unity物理系统:http://www.javashuo.com/article/p-nqvvciwv-kd.html
++++Unity2D平台开发:http://www.javashuo.com/article/p-ycaagdtj-hs.html
++++UGUI基础:http://www.javashuo.com/article/p-rukxwckw-mc.html
++++UGUI进阶:http://www.javashuo.com/article/p-wcatruhq-gt.html
++++UGUI综合:http://www.javashuo.com/article/p-dkccmqii-gg.html
++++Unity动画系统基础:http://www.javashuo.com/article/p-mbrdouxy-dq.html
++++Unity动画系统进阶:http://www.javashuo.com/article/p-aqaqpbkh-bp.html
++++Navigation导航系统:http://www.javashuo.com/article/p-dswwllas-t.html
++++Unity特效渲染:http://www.javashuo.com/article/p-ckojjyfj-bp.html
++++Unity数据存储:http://www.javashuo.com/article/p-bvlzynso-m.html
++++Unity中Sqlite数据库:http://www.javashuo.com/article/p-ejutsbxl-ca.html
++++WWW类和协程:http://www.javashuo.com/article/p-dbwmhsav-cy.html
++++Unity网络:http://www.javashuo.com/article/p-sqrlntgh-dw.html
++++C#事件:http://www.javashuo.com/article/p-zmwruvql-gm.html
++++C#委托:http://www.javashuo.com/article/p-uozpymaf-gh.html
++++C#集合:http://www.javashuo.com/article/p-sfqfdqsf-ex.html
++++C#泛型:http://www.javashuo.com/article/p-xrttqngo-ee.html
++++C#接口:http://www.javashuo.com/article/p-vhlfplgv-dm.html
++++C#静态类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630979
++++C#中System.String类:http://www.javashuo.com/article/p-olslkfao-cq.html
++++C#数据类型:http://www.javashuo.com/article/p-hmabbtmc-ba.html
++++Unity3D默认的快捷键:http://www.javashuo.com/article/p-wuwcrclr-s.html
++++游戏相关缩写:http://www.javashuo.com/article/p-mwacxwca-gm.html
++++设计模式简单整理:http://www.javashuo.com/article/p-rngqugib-hg.html
++++U3D小项目参考:https://blog.csdn.net/vrunsoftyanlz/article/details/80141811
++++UML类图:http://www.javashuo.com/article/p-sxberuew-bm.html
++++Unity知识点0001:http://www.javashuo.com/article/p-ryvdxxjr-ep.html
++++U3D_Shader编程(第一篇:快速入门篇):http://www.javashuo.com/article/p-kyppgrac-gz.html
++++U3D_Shader编程(第二篇:基础夯实篇):http://www.javashuo.com/article/p-qkyowtli-hv.html
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
--_--VRunSoft : lovezuanzuan--_--