Unity2D平台开发

##1、2D游戏对象

++1.1、Unity2D系统简介

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

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

++1.2、Sprite精灵

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

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

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

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

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

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

##3、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引擎基础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--_--

Unity2D平台开发相关推荐

  1. unity2d游戏开发系列教程:四、一个2D游戏所需要的主要功能(游戏框架)

    目录 unity2d游戏开发系列教程:一.环境安装 unity2d游戏开发系列教程:二.新建工程并熟悉Unity编辑器常用功能 unity2d游戏开发系列教程:三.场景布置,增加怪物和机关 原文下载 ...

  2. unity2d游戏开发系列教程:三、场景布置,增加怪物和机关

    目录 unity2d游戏开发系列教程:一.环境安装 unity2d游戏开发系列教程:二.新建工程并熟悉Unity编辑器常用功能 第一节.场景草地布置 先查看一下资源文件里都有什么,一会就要用到的 打开 ...

  3. unity2d游戏开发系列教程:二、新建工程并熟悉Unity编辑器常用功能

    目录 unity2d游戏开发系列教程:一.环境安装 第一步.打开项目 耐心等待一小会 工程界面 第二步.创建第一个场景(第一关)进行试玩 点击图中标号1的运行按钮,即可简单试玩感受,操作如下 移动A, ...

  4. Unity2D游戏开发和C#编程大师班

    本课程采用现代游戏开发的最新内容和最新技术(Unity 2D 2022) 学习任何东西的最好方法是以一种真正有趣的方式去做,这就是这门课程的来源.如果你想了解你看到的这些不可思议的游戏是如何制作的,没 ...

  5. 微信公众平台开发(十一) 功能整合

    一.简介 在前面的几篇微信功能开发文档中,各个微信的功能都是独立的,单一微信只能提供一种功能,这样不符合大众开发者和客户的需求.所以在这一篇文章中,我们将对前面开发出来的微信功能进行简单整合,以供读者 ...

  6. 微信公众平台开发(82) 天气预报

    在这篇教程中,我们将介绍如何在微信公众平台上开发天气预报功能.我们将使用中国天气网的气象数据接口来获取天气信息. 这篇教程将介绍以下内容: 获取中国天气网的气象数据 在微信公众平台中回复天气 一.中国 ...

  7. 微信公众平台开发教程(九)微信公众平台通用开发框架

    微信公众平台开发教程(九)微信公众平台通用开发框架 一.思考 开发了几个微信项目,一直在思考: 如何将微信相关的处理与业务系统联系在一起? 如何做到彼此分离,且易于扩展? 能否开发一套独立的微信服务框 ...

  8. AgileEAS.NET平台开发实例-药店系统-报表开发(上)

    开篇 前面我们讲述了药店系统的开发流程,并且也讲述了如何开发一个基础模块,下面我们来看看,如何开发一个报表, 因为我们在药店系统中最常用的功能之一就是打印功 能了,AgileEAS.NET平台本身已提 ...

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明

    这里所说的高级接口是指面向通过认证的服务号开通的高级功能. 高级功能大致可以分类为: 用户接口 分组接口 客服接口(有别于之前介绍的多客服) 群发接口 多媒体接口 二维码接口 模板消息接口(不是所有账 ...

最新文章

  1. Spring Batch在大型企业中的最佳实践
  2. 师大校园网迅雷解封软件 Ver1.0.1.5(2009-06-12)
  3. vb 字符串长度_一起学VB——什么是过程
  4. Java日志系统学习之log4j!
  5. mencoder_有用的Mplayer / Mencoder命令
  6. Solidity 教程
  7. linux系统构建学习笔记
  8. 电商api全境,Python网络爬虫与数据采集
  9. php基础知识总结(新手入门必备)
  10. 【数据库】达梦数据库更新key文件
  11. 内网端口映射详解(花生壳)
  12. 英语学习真的需要思考
  13. 程序员职场务必了解的薪资待遇
  14. Linux常见命令:与系统管理有关的命令(转)
  15. 破解猫眼动态加载的票房数据
  16. Creo 工程图 圆的中心引线设置
  17. 小米(红米)电视关闭开机广告hosts方法
  18. MapReduce通俗理解
  19. 电商常识中的SKU和SPU
  20. Java(Servlet)模糊查询

热门文章

  1. getBytes()方法详解
  2. Scrapy Tutorial
  3. 基于图像识别和文字识别用 Python 提取视频字幕
  4. 元旦技术大礼包 - 2017金秋将要发布的PostgreSQL 10.0已装备了哪些核武器?
  5. 抖音是怎么动摇美国国本的?
  6. 数云融合丨重构传统商贸数字化解决方案
  7. 通读cheerio API
  8. 2020-08 前端技术汇总
  9. 如何解决下载链接在微信中无法打开的问题
  10. Ubuntu22.04安装gcc-5和g++-5