##1、2D游戏对象数据库
++1.1、Unity2D系统简介编程
++++Unity4.3之前的版本在制做2D游戏时都是使用2D游戏插件来制做,像:2DToolKit,Uni2D等,在4.3之后的版本中,Unity发布了内置的2D游戏制做功能:2DSprite。设计模式
++++Unity2D核心模块包括: Sprite的建立,2D动画的制做和2D物理组件的使用。网络
++1.2、Sprite精灵ide
++++2D游戏的图像部分主要是图片的处理,图片一般称为Sprite精灵;工具
++++为了提升效率2D游戏会将不一样的图片拼接成一张大图,在游戏运行的时候,再将这张大图中的某一部分读出来做为Sprite显示在屏幕上。布局
++1.3、精灵建立的两种方式学习
++++1、将不一样的图片在图像软件中拼接为一张大图,导入到Unity中使用SpriteEditor工具将大图分割成若干个Sprite使用;动画
++++2、直接将原始图片导入Unity中,使用Unity提供的SpritePacker工具将导入的图片打包,再从中读取Sprite使用。ui
++1.4、SpriteEditor建立精灵
++++1、导入一张图片到Unity中。
++++2、将Texture Type设置成Sprite(2D and UI); Sprite Mode设置为Multiple,能够将大图分割成若干小图。
--Texture Type :设置纹理图片类型;
--Sprite Mode :设置精灵的模式;
++++3、点击SpriteEditor打开编辑窗口。
--Name :名字;
--Position :位置及大小;
--Border :用于设置精灵上下左右的边框;
--Pivot :被切割精灵的中心点。
++++4、点击Slice,Type为分割方式,能够设置每一个精灵大小的尺寸。
--Automatic :自动计算尺寸;
--Grid By Cell Size :按照被切格子的大小;
--Grid By Cell Count :按照被切格子的数量
++++5、选择合适的切割模式后,对图片操做后以下图,在Assets目录中大图下面会出现分割后的小图片。
++++6、若是剪切不符合要求,能够选择多余的网格,按Delete键删除,而后选中须要放大的网格,在下图所示窗口中更改其尺寸,同时也能够改变该图片的名字。
--Name :被切割精灵图片的名字。
--Position :被切割格子的坐标及大小。
--Border :被切割精灵图片的边框。
--Pivot :被切格子的中心点位置。
++1.5、SpritePacker打包精灵
++++【Edit】=>【Project Settings】=>【Editor】中设置SpritePaker设置成AlwaysEnabled. 默认是Disabled(关闭的)。
--Disabled :该功能不能使用。
--Enabled For Builds :只有在导出游戏时使用。
--Always Enabled :任何状况下使用该功能。
++1.6、精灵使用及打包
++++只须要把图片拖入到场景中便可。
--选中所要打包的图片,设置 Packing Tag,点击Apply;
--而后打开【Window】=>【Sprite Paker】窗口,点击Pack按钮便可。
++1.7、图层排序
++++2D游戏中的图片之间没有深度关系,都处于同一个平面上,但在实际游戏中须要为它们排序,按视觉上的空间前后顺序显示。
--Sorting Layer :点击后能够添加层,也能够为精灵设置层,层越靠下越先显示fish层的精灵。
--Order in Layer :值越大越显示在最前面,能够在脚本中动态的更改,该属性只对同一层中的不一样精灵起做用。
##2、2D物理组件
++2.1、2D物理引擎
++++2D物理引擎与3D物理引擎在功能上基本类似,当咱们给精灵添加刚体后,它就会受2D物理引擎的控制。
++++点击Component => Physics 2D就能够添加2D刚体和碰撞器组件等。
++2、Rigidbody2D组件
++3、2D碰撞器组件
++++2D碰撞器组件与3D碰撞器做用同样,专门用于检测是否发生碰撞。
++4、2D碰撞和触发回调方法
++++OnCollisionEnter2D(Collision2D other) :刚进行碰撞时调用
++++OnCollisionStay2D(Collision2D other) :一直保持碰撞时调用
++++OnCollisionExit2D(Collision2D other) :碰撞结束时调用
++++OnTriggerEnter2D(Collider2D other) :刚触发时调用
++++OnTriggerStay2D(Collider2D other) :保持触发状态时调用
++++OnTriggerExit2D(Collider2D other) :触发结束时调用
##三、2D开发经常使用类
++++Rigidbody2D :2D刚体
++++Collider2D :2D碰撞器
++++Joint2D :2D链条
++++Collision2D :2D碰撞信息
##4、2D动画建立
++4.1、2D动画建立
++++Sprite 有两种类型--一种是单张的图片,一般用做背景或者单个元素,
--另外一种是能够造成序列的sprite,用来建立序列帧动画。
++++层次视图: 选中要建立动画的全部图片拖到层次视图中,运行后在场景中产生动画。
++++在Assets中产生了动画和动画控制器,在层次视图中自动生成精灵,而且带有动画控制器组件。
++4.2、2D动画编辑
++++选中要建立动画的对象再按Ctrl+6打开Animation编辑窗口。
--点击【Add Property】后能够添加属性,若是要更改动画中某一帧的位置、旋转和缩放,只须要点击后面的+ 号便可。
++++选中要改变位置的关键帧后,能够在此位置输入值,此时Animation会自动记录任何改动,点击预览能够察看修改后的动画。
++++在Animation编辑窗口中,在关键帧处点击右键,添加事件,此时能够选择其脚本中的方法,当动画执行到该关键帧时,该方法就会被调用。
##5、GUI
++5.1、GUI简介
++++在游戏制做中,游戏界面元素是不可或缺的一部分,Unity提供了完善的GUI界面元素,建立时只须要输入简单的代码便可完成;
++++全部的GUI界面元素都是在OnGUI方法中来实现的;
++++GUI界面元素布局分为自动布局和自定义布局;
++5.2、GUI自动布局
++++自动布局的类为GUILayout,其建立的GUI元素位置由系统进行自动布局,不能进行人为修改;
++++示例:
void OnGUI(){
if(GUILayout.Button(“Button”)){
Debug.Log(“buttton”);
}
}
++5.3、GUI自动布局类方法
++++Label :建立一个自动布局的标签
++++Button :建立一个自动布局的按钮
++++Box :建立一个自动布局的Box
++++Toggle :建立一个自动布局的开关
++++HorizontalSlider :建立一个水平滑动条
++++VerticalSlider :建立一个垂直滑动条
++++Toolbar :建立一个工具栏
++5.4、GUI自定义布局
++++自定义布局的类为GUI,其建立的GUI元素位置和大小均可以由代码来控制;
++++示例:
void OnGUI(){
if(GUI.Button(new Rect(10,10,100,50),“Button”)){
Debug.Log(“GUI button”);
}
}
++5.5、GUI自定义布局类方法
++++Button :建立按钮,点击执行按钮事件,只执行一次。
++++RepeatButton :鼠标点击不松开,会一直执行按钮事件。
++++TextArea :建立多行文本区域,编辑字符。
++++SelectionGrid :建立按钮网格。
++++BeginScrollView :滚动视图的开始。
++++EndScrollView :滚动视图的结束,要与Begin成对出现。
++++Window :建立一个弹出窗口。
#立钻哥哥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--_--