Unity2D平台开发

Unity2D平台开发

##12D游戏对象

++1.1Unity2D系统简介

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

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

++1.2Sprite精灵

++++2D游戏的图像部分主要是图片的处理,图片通常称为Sprite精灵;

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

++1.3、精灵创建的两种方式

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

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

++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)  :触发结束时调用



##3、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引擎基础https://blog.csdn.net/vrunsoftyanlz/article/details/78881685

++++Unity面向组件开发https://blog.csdn.net/vrunsoftyanlz/article/details/78881752

++++Unity物理系统https://blog.csdn.net/vrunsoftyanlz/article/details/78881879

++++Unity2D平台开发https://blog.csdn.net/vrunsoftyanlz/article/details/78882034

++++UGUI基础https://blog.csdn.net/vrunsoftyanlz/article/details/78884693

++++UGUI进阶https://blog.csdn.net/vrunsoftyanlz/article/details/78884882

++++UGUI综合https://blog.csdn.net/vrunsoftyanlz/article/details/78885013

++++Unity动画系统基础https://blog.csdn.net/vrunsoftyanlz/article/details/78886068

++++Unity动画系统进阶https://blog.csdn.net/vrunsoftyanlz/article/details/78886198

++++Navigation导航系统https://blog.csdn.net/vrunsoftyanlz/article/details/78886281

++++Unity特效渲染https://blog.csdn.net/vrunsoftyanlz/article/details/78886403

++++Unity数据存储https://blog.csdn.net/vrunsoftyanlz/article/details/79251273

++++Unity中Sqlite数据库https://blog.csdn.net/vrunsoftyanlz/article/details/79254162

++++WWW类和协程https://blog.csdn.net/vrunsoftyanlz/article/details/79254559

++++Unity网络https://blog.csdn.net/vrunsoftyanlz/article/details/79254902

++++C#事件https://blog.csdn.net/vrunsoftyanlz/article/details/78631267

++++C#委托https://blog.csdn.net/vrunsoftyanlz/article/details/78631183

++++C#集合https://blog.csdn.net/vrunsoftyanlz/article/details/78631175

++++C#泛型https://blog.csdn.net/vrunsoftyanlz/article/details/78631141

++++C#接口https://blog.csdn.net/vrunsoftyanlz/article/details/78631122

++++C#静态类https://blog.csdn.net/vrunsoftyanlz/article/details/78630979

++++C#中System.String类https://blog.csdn.net/vrunsoftyanlz/article/details/78630945

++++C#数据类型https://blog.csdn.net/vrunsoftyanlz/article/details/78630913

++++Unity3D默认的快捷键https://blog.csdn.net/vrunsoftyanlz/article/details/78630838

++++游戏相关缩写https://blog.csdn.net/vrunsoftyanlz/article/details/78630687

++++设计模式简单整理https://blog.csdn.net/vrunsoftyanlz/article/details/79839641

++++U3D小项目参考https://blog.csdn.net/vrunsoftyanlz/article/details/80141811

++++UML类图https://blog.csdn.net/vrunsoftyanlz/article/details/80289461

++++Unity知识点0001https://blog.csdn.net/vrunsoftyanlz/article/details/80302012

++++U3D_Shader编程(第一篇:快速入门篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80372071

++++U3D_Shader编程(第二篇:基础夯实篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80372628

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/


--_--VRunSoft : lovezuanzuan--_--

你可能感兴趣的:(Unity,Unity2D,2D游戏开发,SpriteEditor,GUI)