Unity2D平台开发

Unity2D平台开发

##12D游戏对象数据库

++1.1Unity2D系统简介编程

++++Unity4.3之前的版本在制做2D游戏时都是使用2D游戏插件来制做,像:2DToolKitUni2D等,在4.3之后的版本中,Unity发布了内置的2D游戏制做功能:2DSprite设计模式

++++Unity2D核心模块包括: Sprite的建立,2D动画的制做和2D物理组件的使用。网络

++1.2Sprite精灵ide

++++2D游戏的图像部分主要是图片的处理,图片一般称为Sprite精灵;工具

++++为了提升效率2D游戏会将不一样的图片拼接成一张大图,在游戏运行的时候,再将这张大图中的某一部分读出来做为Sprite显示在屏幕上。布局

++1.3、精灵建立的两种方式学习

++++1、将不一样的图片在图像软件中拼接为一张大图,导入到Unity中使用SpriteEditor工具将大图分割成若干个Sprite使用;动画

++++2、直接将原始图片导入Unity中,使用Unity提供的SpritePacker工具将导入的图片打包,再从中读取Sprite使用。ui

++1.4SpriteEditor建立精灵

++++1、导入一张图片到Unity中。

++++2、将Texture Type设置成Sprite(2D and UI); Sprite Mode设置为Multiple,能够将大图分割成若干小图。

--Texture Type :设置纹理图片类型;

--Sprite Mode :设置精灵的模式;


++++3、点击SpriteEditor打开编辑窗口。

--Name :名字;

--Position :位置及大小;

--Border :用于设置精灵上下左右的边框;

--Pivot :被切割精灵的中心点。


++++4、点击SliceType为分割方式,能够设置每一个精灵大小的尺寸。

--Automatic :自动计算尺寸;

--Grid By Cell Size :按照被切格子的大小;

--Grid By Cell Count :按照被切格子的数量


++++5、选择合适的切割模式后,对图片操做后以下图,在Assets目录中大图下面会出现分割后的小图片。


++++6、若是剪切不符合要求,能够选择多余的网格,按Delete键删除,而后选中须要放大的网格,在下图所示窗口中更改其尺寸,同时也能够改变该图片的名字。

--Name :被切割精灵图片的名字。

--Position :被切割格子的坐标及大小。

--Border :被切割精灵图片的边框。

--Pivot :被切格子的中心点位置。


++1.5SpritePacker打包精灵

++++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 :值越大越显示在最前面,能够在脚本中动态的更改,该属性只对同一层中的不一样精灵起做用。


##22D物理组件

++2.12D物理引擎

++++2D物理引擎与3D物理引擎在功能上基本类似,当咱们给精灵添加刚体后,它就会受2D物理引擎的控制。

++++点击Component => Physics 2D就能够添加2D刚体和碰撞器组件等。


++2Rigidbody2D组件


++32D碰撞器组件

++++2D碰撞器组件与3D碰撞器做用同样,专门用于检测是否发生碰撞。


++42D碰撞和触发回调方法

++++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碰撞信息


##42D动画建立

++4.12D动画建立

++++Sprite 有两种类型

--一种是单张的图片,一般用做背景或者单个元素,

--另外一种是能够造成序列的sprite,用来建立序列帧动画。

++++层次视图: 选中要建立动画的全部图片拖到层次视图中,运行后在场景中产生动画。


++++Assets中产生了动画和动画控制器,在层次视图中自动生成精灵,而且带有动画控制器组件。


++4.22D动画编辑

++++选中要建立动画的对象再按Ctrl+6打开Animation编辑窗口。

--点击【Add Property】后能够添加属性,若是要更改动画中某一帧的位置、旋转和缩放,只须要点击后面的+ 号便可。


++++选中要改变位置的关键帧后,能够在此位置输入值,此时Animation会自动记录任何改动,点击预览能够察看修改后的动画。

++++Animation编辑窗口中,在关键帧处点击右键,添加事件,此时能够选择其脚本中的方法,当动画执行到该关键帧时,该方法就会被调用。



##5GUI

++5.1GUI简介

++++在游戏制做中,游戏界面元素是不可或缺的一部分,Unity提供了完善的GUI界面元素,建立时只须要输入简单的代码便可完成;

++++全部的GUI界面元素都是在OnGUI方法中来实现的;

++++GUI界面元素布局分为自动布局和自定义布局;

++5.2GUI自动布局

++++自动布局的类为GUILayout,其建立的GUI元素位置由系统进行自动布局,不能进行人为修改;

++++示例:

void OnGUI(){

    if(GUILayout.Button(Button)){

        Debug.Log(buttton);

}

}

++5.3GUI自动布局类方法

++++Label :建立一个自动布局的标签

++++Button :建立一个自动布局的按钮

++++Box :建立一个自动布局的Box

++++Toggle :建立一个自动布局的开关

++++HorizontalSlider :建立一个水平滑动条

++++VerticalSlider :建立一个垂直滑动条

++++Toolbar :建立一个工具栏

++5.4GUI自定义布局

++++自定义布局的类为GUI,其建立的GUI元素位置和大小均可以由代码来控制;

++++示例:

void OnGUI(){

    if(GUI.Button(new Rect(10,10,100,50),Button)){

        Debug.Log(GUI button);

}

}

++5.5GUI自定义布局类方法

++++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知识点0001http://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--_--