如何使用Unity5.3unity开发2d游戏戏

Unity3D游戏开发入门教程
授课讲师:
软件版本:
Unity3D 4.2英文版
教程程度:
所需基础:
C语言基础或其他编程基础
交流提问:
适合人群:
游戏开发爱好者
相关素材:
课程光盘:
2721 304825 162053 232277 160925 113543 98812 108930 97744 74579 64149 49582 73467 95646 50405 43517 40741 38597 40364 38594 35236 37314 43332 32835 23824 24564 30614 34711 29360 31235
论坛最新主题
您可能感兴趣的课程
针对全国计算机等级考试二级的一套精品视频教程
access是一套关联式数据管理系统,存储方式简单、界面友好、易操作。
通过太空射击游戏等案例设计过程,使学员掌握程序设计技巧和方法。
塔防类3D游戏开发过程入手,学习资源整合,程序设计并最终发布游戏。
赞助商链接
兴趣圈成员使用Unity3D 5.3.4 模仿2D游戏 FlappyBird(一)
使用Unity3D 5.3.4 模仿2D游戏 FlappyBird(一)
首先,这是这篇文章可能用到的资源:
密码:ghy6
然后我们打开unity创建一个2D游戏,先创建一些常用的文件夹,Audios(音频),Materials(材质),Prefabs(预制),Textures(图片),Scenes(场景),Scripts(脚本)。其它的做到的时候在创建。然后把资源导入相应的文件夹。注意:要把导入的图片类型在unity中把Texture Type 改成sprite,让它支持透明的格式,其他的暂时不用管。
在game视图新建一个大小为 720 x 1280的视图,现在大多数手机是这个分辨率,毕竟我们是模仿嘛。
这时候拖入一个bg图片,调整适合的大小,我们修改一下Sorting Layer(不同层级的显示顺序) 和 Order in Layer(相同层级的现实顺序)。添加一个Sorting Layer 名字为background,修改bg的Sorting Layer为background,Order in Layer 为-2。
再拖入一个back图片作为bg的子物体,因为他们都是背景,可以放在一起,也调整一下大小和Sorting Layer 和 Order in Layer,给它添加一个Box Collider2D 因为要用来检测和小鸟的碰撞,大小只要刚好包裹到现实地板的地方就行了。调整完后应该是下面这样:
注意:这里的图片大小都比摄像机的范围稍大一些,是为了防止图片间有缝隙,看起来不美观。然后我们把做好的bg拖入Prefabs文件夹作为一个预制物体。方便重复使用。
然后我们再拖两个预制bg到场景,分别命名为bg_1和 bg_2,三个bg的Position分别为 (0,0,0 )和 (4.81,0,0) 和 (9.62,0,0),这样的拼接是为了美观一些,同时,也是为了能让背景循环播放。做好的场景如下:
拖入两个图片pipe,分别命名为pipe_up,pipe_down,Scale的y设为2(也就是增加它的长度,方便操作),Sorting Layer 为background和 Order in Layer为-1,都给他们添加Box Collider2D,能包裹完图片就行。然后把他们的位置重置,通过拖动找到一个适合的间距(自己觉得合适就行),用来供小鸟通过。(我自己的间距是12,也就是他们的y值相差12)
然后再新建一个空GameObject,名字为pipe,重置位置,作为他们的父物体。在pipe下,再创建一个空物体,重置位置,添加Box Collider2D(当小鸟碰撞时可以增加分数),名字为collider_score,调整大小,位置为两障碍中间,勾选isTrigger。通过移动pipe就可以一起移动障碍了和空的碰撞体了。最后把pipe作为Prefab。如下:
然后就可以把面板上的pipe删掉了。在摄像机外创建一个空GameObject,名字为spawn(孵化器,用作创建障碍)。我的位置是(4.3,0,0)。
接下来处理一下小鸟的图片。选中Textures中的bird图片,修改Sprite Mode为Multiple,在点击Sprite Editor,在弹出窗口的左上角点击Slice,
在弹出窗口点击Slice,然后点右上角的关闭按钮,点击就弹出的窗口的Apply(这里我也不太懂,试着做一下,好像确实可以切割图片)。这时候就可以把一张连续的图片切割成三张小鸟的图片了。这个用来做帧动画。这时候可以创建一个Anim(动画)文件夹。
点击Textures文件夹下的小鸟图片的三角,同时选中切割好的三张图片(选中第一张,按住Shift在点击最后一张,就可以全部选中),
拖到Inspector面板,在弹出的框选中刚刚创建的Anim文件夹,我们把名字设为BirdFly.anim,这就是小鸟的飞行动画,更改Inspector面板上的名字为bird,进入到Anim文件夹修改控制器的名字也为bird。这时候可以双击控制器看动画是否添加成功,如果没有成功,拖进去就行,还有动画是否循环播放不是得话选中就行。
这时候小鸟还不能显示出来,选中bird,添加Sorting Layer名字为player ,小鸟改为这个,就可以显示了,在给他添加一个Box Collider2D。这时候点击运行,应该就可以看到效果了。
前期工作基本上就这样了,限于篇幅,剩下的在其他篇的博客中继续。
本博客用作新手学习讨论,如有不好或错误的地方也请指出来,谢谢。
项目工程已经发布在最后的一篇博客中,欢迎大家观看。
我的热门文章
即使是一小步也想与你分享如何使用Unity5.3开发2D游戏视频教程 - 我学院_中国IT互联网游戏开发游戏设计免费在线教育平台,学游戏就上我学院 - Powered By EduSoho
课程完成进度:14/14&&
讲的很详细,适合新手,赞
你还没有登录,请先或!
还可以接受,不是很难理解
你还没有登录,请先或!
嗯,挺不错的,这个课程我给满分,讲的挺仔细的,每个课时时间也不是很长,只要认真的看了,学了,其实还挺容易的啦....
你还没有登录,请先或!
开始学习课时
开始学习课时
开始学习课时
开始学习课时
开始学习课时
程序开发群
美术设计群
工作时间:8:00 - 24:00Unity 5实战--使用C#和Unity开发多平台游戏-作者:Joseph Hocking[美]-广购书城
送至:广东
Unity 5实战--使用C#和Unity开发多平台游戏
), 正在读(
), 已读过(
I S B N :4
作&&&&者:
出 版 社:
出版时间:
版&&&&次:初版
开&&&&本:16开
条用户评论 |
( 79 折)为您节省
满80元免运费
立刻购买']);">
看过本商品的人还买了
定价:¥69.00
广购价:¥53.10
定价:¥59.80
广购价:¥47.20
定价:¥75.00
广购价:¥61.50
定价:¥99.00
广购价:¥77.20
定价:¥49.80
广购价:¥40.80
定价:¥69.00
广购价:¥53.80
定价:¥39.80
广购价:¥33.00
定价:¥79.00
广购价:¥62.40
定价:¥59.80
广购价:¥46.60
看过本商品的人还看了
定价:¥99.00
广购价:¥77.20
定价:¥99.00
广购价:¥77.20
定价:¥65.00
广购价:¥50.10
定价:¥59.00
广购价:¥46.00
定价:¥129.00
广购价:¥98.00
定价:¥59.00
广购价:¥46.60
定价:¥59.00
广购价:¥45.40
定价:¥49.00
广购价:¥37.70
定价:¥58.00
广购价:¥44.70
Unity 入门经典 引用完整示例项目,快速掌握Unity游戏开发平台 免费提供书中所有源代码熟练掌握基于2D和3D驱动的游戏技能涵盖Unity 5.0本书帮助读者使用Unity游戏开发平台构建成功的游戏。你将使用强大的C#语言、Unity的可视化工作流工具和顶尖的渲染引擎来构建和部署移动、桌面和控制台游戏。Unity的单一基于代码的方式最小化了在开发工具间切换的影响,并将你的关注点集中在制作美妙的交互体验上。本书教授你如何编写和部署游戏。你将从头开始掌握Unity的工具集,书中介绍了从应用编码者到游戏开发者所需的技能。每个示例项目都阐述了特定的Unity特性和游戏开发策略。阅读完本书内容和完成书中练习后,你将掌握创建生动的基于2D和3D驱动的游戏应用的各方面技能。主要内容◆ 编写跑动、跳跃和交互的角色◆ 构建管理游戏状态的代码架构◆ 将游戏连接到互联网以下载动态数据◆ 将游戏部署到平台(包括网页和移动等)◆ 涵盖Unity 5.0【作者简介】Joseph Hocking是一位交互式媒体开发方面的软件工程师。他就职于Synapse Games公司并在芝加哥哥伦比亚学院教授游戏开发课程。
目  录 第Ⅰ部分 起 步第1章 初识Unity 31.1 为什么Unity如此优秀 41.1.1Unity的优势 41.1.2要意识到的缺点 51.1.3使用Unity构建的游戏案例 61.2 如何使用Unity 91.2.1Scene视图、Game视图和工具栏 101.2.2使用鼠标和键盘 111.2.3Hierarchy标签和Inspector 121.2.4Project和Console标签 121.3 开始使用Unity编程 131.3.1代码在Unity中是如何运行的:脚本组件 141.3.2使用MonoDevelop,跨平台的IDE 151.3.3打印到控制台:Hello World! 161.4 小结 18第2章 构建一个让你置身3D空间的演示 192.1 在开始之前 202.1.1对项目做计划 202.1.2了解3D坐标空间 212.2 开始项目:在场景中放置对象222.2.1第二步:地板、外墙和内墙 222.2.2灯光和摄像机 252.2.3玩家的碰撞器和视口 262.3 让东西移动:应用变换的脚本272.3.1图示说明如何通过编程实现旋转 272.3.2编写代码实现图中演示的运动 272.3.3本地和全局坐标空间 292.4 用于观察周围的组件脚本:MouseLook302.4.1跟踪鼠标运动的水平旋转 312.4.2在一定范围内的垂直旋转 322.4.3同时水平和垂直旋转 332.5 键盘输入组件:第一人称控件362.5.1响应按下的键 362.5.2设置独立于计算机运行速度的运动速率 372.5.3为了碰撞检测,移动CharacterController 382.5.4调整组件为走路而不是飞翔 392.6 小结 41第3章 为3D游戏添加敌人和子弹 433.1 通过射线射击 443.1.1什么是射线发射 443.1.2使用命令ScreenPointToRay来发射 453.1.3为准心和击中点添加可视化提示 463.2 脚本化反应的目标 493.2.1确定被击中的对象 493.2.2警告目标它被击中 503.3 基本漫游AI 523.3.1图解基础AI的工作原理 523.3.2使用射线发射发现障碍物 523.3.3跟踪角色状态 543.4 产生敌人预设 553.4.1什么是预设 553.4.2创建敌人预设 563.4.3在不可见的SceneController中实例化 573.5 通过实例化对象进行射击593.5.1创建子弹预设 593.5.2发射子弹并和目标碰撞 603.5.3伤害玩家 633.6 小结 63第4章 为游戏开发图形 654.1 了解美术资源 654.2 构建基础3D场景:白盒 674.2.1白盒的解释 684.2.2为关卡绘制地板平面图 684.2.3根据平面图布局几何体 694.3 使用2D图像给场景贴图 704.3.1选择文件格式 714.3.2导入图像文件 724.3.3应用图像 734.4 使用贴图图像产生天空视觉效果 754.4.1什么是天空盒 754.4.2创建一个新天空盒材质 764.5 使用自定义3D模型 774.5.1选择文件格式 784.5.2导出和导入模型 794.6 使用粒子系统创建效果 814.6.1调整默认效果的参数 824.6.2为火焰应用新贴图 834.6.3将粒子效果附加到3D对象上 844.7 小结 85第Ⅱ部分 轻 松 工 作第5章 使用Unity新的2D功能构建一款记忆力游戏895.1 设置2D图形 905.1.1为项目做准备 905.1.2显示2D图像(亦称精灵) 925.1.3将摄像机切换为2D模式 945.2 构建卡片对象并让它响应单击955.2.1从精灵构建对象 955.2.2鼠标输入代码 965.2.3当单击时显示卡片 965.3 显示不同的卡片图像 975.3.1通过程序加载图像 975.3.2通过不可见的SceneController来设置图像 985.3.3实例化一个网格的卡片 1005.3.4打乱卡片 1015.4 实现匹配和匹配得分 1035.4.1保存并比较翻开的卡片 1045.4.2隐藏错误卡片 1045.4.3显示积分的文本 1055.5 重启按钮 1065.5.1使用SendMessage编写UIButton组件 1075.5.2从SceneController中调用LoadLevel 1095.6 小结 110第6章 在3D游戏中放置2D图形用户界面 1116.1 在开始写代码之前......1126.1.1直接模式GUI还是高级2D界面 1126.1.2规划布局 1136.1.3导入UI图像 1146.2 设置GUI显示 1146.2.1为界面创建画布 1156.2.2 按钮、图像和文本标签 1166.2.3控制UI元素的位置 1186.3 编写UI中的交互 1196.3.1编写不可见的UIController 1206.3.2创建弹出窗口 1216.3.3使用滑动条和输入域设置值 1246.4 通过响应事件更新游戏1266.4.1集成事件系统 1276.4.2从场景中广播和侦听事件 1276.4.3从HUD广播和侦听事件 1286.5 小结 130第7章 创建第三人称3D游戏:玩家移动和动画1317.1 调整摄像机视图为第三人称视角 1337.1.1导入一个用于观察的角色 1337.1.2将阴影添加到场景 1347.1.3摄像机环绕玩家角色 1357.2 编写程序控制camera-relative的移动 1377.2.1旋转角色,以朝向移动方向 1387.2.2朝着方向向前移动 1407.3 实现跳跃动作 1417.3.1应用垂直速度和加速度 1427.3.2修改地面检测来处理边缘和斜坡 1437.4 设置玩家角色上的动画1467.4.1 在导入的模型上定义动画剪辑 1487.4.2为动画创建动画控制器 1497.4.3编写操作Animator组件的代码 1537.5 小结 154第8章 在游戏中添加交互设施和物件1558.1 创建门和其他设施 1568.1.1由按键控制开/关的门 1568.1.2在开门之前检查距离和朝向 1578.1.3创建一个变色监控器 1598.2 通过碰撞与对象交互 1608.2.1和具有物理功能的障碍物碰撞 1608.2.2用一个压力板来触发门 1618.2.3收集当前关卡游戏中分散的物件 1638.3 管理仓库数据和游戏状态1658.3.1设置玩家和仓库管理器 1658.3.2编程实现游戏管理器 1668.3.3把物品存储在集合对象中:List与Dictionary 1708.4使用和装备物品的仓库UI 1738.4.1在UI中显示仓库物品 1738.4.2装备一个用来开门的钥匙 1758.4.3通过使用血量包来恢复玩家的血量 1778.5 小结 178第Ⅲ部分 冲 刺 阶 段第9章 将游戏连接到互联网 1819.1 创建户外场景 1829.1.1使用天空盒生成天空视觉效果 1829.1.2通过代码设置大气环境 1839.2 从互联网服务下载天气数据1859.2.1使用协程请求WWW数据 1889.2.2解析XML 1929.2.3解析JSON 1939.2.4基于天气数据影响场景 1959.3 添加一个网络布告栏 1969.3.1从互联网加载图像 1969.3.2在布告栏上显示图像 1999.3.3缓存下载的图像以供重用 2009.4 将数据发送到Web服务器 2019.4.1跟踪当前的天气:发送post请求 2029.4.2PHP中的服务器端代码 2049.5 小结 204第10章 播放音频:音效和音乐20510.1导入音效 20610.1.1所支持的文件格式 20610.1.2导入音频文件 20710.2播放音效 20810.2.1音频剪辑、音源和声音侦听器 20810.2.2设定一个循环声音 20910.2.3从代码触发音效 21010.3音频控制接口 21110.3.1建立中心AudioManager 21210.3.2音量控制UI 21410.3.3播放UI声音 21710.4背景音乐 21810.4.1播放循环音乐 21810.4.2独立控制音乐的音量 22110.4.3歌曲间的淡入淡出 22310.5小结 226第11章 将各部分整合为一个完整的游戏 22711.1再次利用项目来构建角色扮演RPG 22811.1.1将多个项目的资源和代码装配在一起 22811.1.2编写指向-单击的控件:移动和设备 23111.1.3使用新界面替换旧GUI 23511.2开发总体的游戏结构 24111.2.1控制任务流和多关卡 24211.2.2通过到达退出条件完成一个关卡 24511.2.3当被敌人捕捉时关卡失败 24711.3处理玩家游戏过程中的进度 24911.3.1保存并加载玩家进度 24911.3.2通过完成三个关卡打败游戏 25311.4小结 255第12章 将游戏部署到玩家的设备25512.1构建桌面环境:Windows、Mac和Linux 25912.1.1构建应用 25912.1.2调整Player Settings:设置游戏的名称和图标 26012.1.3平台依赖的编译 26112.2为Web构建游戏 26212.2.1Unity Player和HTML/WebGL 26212.2.2构建Unity文件和一个测试Web页面 26212.2.3与浏览器中的JavaScript通信 26312.3构建移动应用的平台:iOS和Android 26412.3.1设置构建工具 26512.3.2贴图压缩 26812.3.3开发插件 26912.4小结 277附录A 场景导航和键盘快捷键279A.1 使用鼠标进行场景导航279A.2 一般使用键盘快捷键 280附录B 与Unity一同使用的外部工具 281B.1 编程工具 281B.1.1Visual Studio 281B.1.2Xcode 281B.1.3Android SDK 282B.1.4SVN、Git或Mercurial 282B.23D美术应用 282B.2.1Maya 282B.2.23ds Max 282B.2.3Blender 283B.32D图像编辑器 283B.3.1Photoshop 283B.3.2GIMP 283B.3.3TexturePacker 283B.4 音频软件 283B.4.1Pro Tools 284B.4.2Audacity 284附录C 在Blender中建模一个板凳 285C.1 构建网格几何体 285C.2 模型贴图映射 288附录D 在线学习资源 293D.1 附加的指南 293D.2 代码库 294后序 297
广州购书中心有限公司 版权所有& 2010 经营许可证:粤B2-Unity5.3新功能:自定义协程
蛮牛酱导读:距离官方公布的Unity5.3正式版发布时间还有不到一周的时间,除了惯例的Bug修复之外,还有不少令人期待的新功能。今天就为大家介绍其中一个新功能--自定义协程。★通过继承Unity5.3新加入的CustomYieldInstruction类,即可自定义协程。最初是因为Unity5.2的UI中Dropdown组件的Bug。当Time.timescale设为0时,下拉列表只显示一次,只有将timescale设为非0值才会再次显示。经过一番调试最终发现问题出自Show函数: m_Dropdown不为空,这就阻止了下拉列表显示显示一次之后,m_Dropdown组件会被最小化然后销毁。但如果timescale为0时,就不会进行本该有的销毁过程。 答案就是WaitForSeconds,它用到了timescale。如果告诉WaitForSeconds等待1秒,而将timescale设为0.5,实际上这里是等待了2秒。所以timescale为0时使用WaitForSeconds就表示无限等待。也就是说下拉列表在显示一次后没有被销毁。这里需要用固定时间来衡量等待。所以最优雅的办法就是新加一个yield操作,也就是WaitForSecondsRealtime类。同时Unity也会更新文档中对WaitForSeconds用到时间缩放的说明。这就是CustomYieldInstruction诞生的原因了,新加的yield也很简单,代码如下: 任意自定义的yield操作都要重写keepWaiting属性,如果希望操作继续,直接返回false。改过后的Destroy代码如下: 上面的等待用的是实际时间,很好的解决了之前的Bug。还有一种更简单的办法,就是使用WaitUntil和WaitWhile指令。举个例子,如果想延迟5秒,只需如下代码: 很简单的功能,却大有用处。虽然开发者们对协程的态度褒贬不一,但不可否认某些功能使用协程确实能简化不少流程。以上就是今天的内容了,你对协程又有什么看法呢,欢迎来评论区吐槽哦~本文由蛮牛译馆倾情奉献,除 合作社区 及 合作媒体 外,禁止转载。蛮牛社区()分享最新的游戏研发和虚拟现实相关技术内容。
微信号:myweiblog
扫描并关注抽取红包、50元话费与圈内人交流、分享
游戏资讯哪家强?就这里(⊙v⊙)
我要分享:
用户密码保存到数据库时,常见的加密方式有哪些,我们该采用什么方式来保护用户的密码呢?常见的用户密码加密方式以及破解方法
1.&基于数据库生成2.&基于分布式协调器生成3.&划分命名空间并行生成生成全局唯一ID的3个思路,来自一个资深架构师的总结
本次分享通过一次客户在容器实施案例深入的看看Docker的几种存储方式,并给出一些技术选型的建议。Docker存储方式选型建议
DevLink与Go语言北京用户组联合举办的X&to&Go的“小课桌”技术分享活动,将于9月3日在上地福道大厦举办,会前我们对本次活动的主持人、Go语言北京用户组发起人、Go语言布道师——郝林老师进行了文字专访。【Go聚会专访】Go北京用户组发起人、布道师——郝林
近年来,计算机编程者开发了大量密码破解工具,每一款工具都有缺点和优点,有时候选择起来非常让人困惑,以下为大家介绍十款目前最流行的密码破解工具。十款最流行的密码破解工具
本文针对&linux&下的&C++&程序的内存泄漏的检测方法及其实现进行探讨。其中包括&C++&中的&new&和&delete&的基本原理,内存检测子系统的实现原理和具体方法,以如何在&Linux 下检测内存泄漏
本文源码的角度来分析下React-Native底层的通信机制。React Native之底层源码分析篇(本文较长,请自备小零食:辣条,啤酒饮料等)
最好的学习编码的方式就是读源码&—&某个高级程序员读源码是最好也是最有效的提升自身编码能力的方式,特别是当该项技术比较新然后它的标准还在不停改进的时候。[译]推荐5个值得学习React Native的开源项目
React&Native官方支持iOS和Android,但并不支持H5,有些人试图做出补救,如兼容RN&API的ReactWeb,也有人用在RN上再封装一层的形式来兼容H5。ReacMix采取的就是后面的这种做法。ReactMix:基于HTML+JS+CSS写APP的最佳实践
在2015年初,我们构建了一个只做一件事(也的确做的非常好)的微服务——查找地理围栏(geofence&loUber是如何基于Go语言构建高QPS服务的?
本文内容整理自W-Time技术分享沙龙-天津站现场演讲《一切都是分布的》,演讲者:李傲,问啊联合创始人,前中干货|建议初创团队起初也要构建分布式应用
由于国内Android系统的碎片化,令开发者头疼的一个问题就是应用常驻后台的服务可能会被莫名其妙的杀掉。如何做到有克制的,同时最大限度的保护后台进程,是开发者迫切想知道的问题。因此,我们就此问题邀请微信相关负责人来分享他们的经验。微信Android客户端后台保活经验分享
去重统计如何去做,相信看了这篇文章你会有所了解。漫谈redis在运维数据分析中的去重统计方式
如何构建前沿的、易维护的、安全的架构?有哪些可以抽象出来的系统架构设计的准则或者用它来验证现有的架构是否合理?一套根据用途分类的开源软件列表。关于架构的优化和设计,架构师必须悟透的事情
本文作者结合大型移动应用的落地实践,从服务端架构设计角度,阐述如何进行升级优化,为后续APP做大做强奠定架构基础,供大家参考。一个可供创业公司参考的移动APP服务端架构演进方案
只分享能落地的方法,能看懂的架构,秒杀系统人人能做。秒杀系统架构优化思路
Https,你到底对Http干了啥?HTTPS到底是个啥玩意儿?
唯品会RPC服务化架构图,服务发现及服务治理为为什么用使用proxy?容器化为什么选择Marathon和Mesos?首发:唯品会RPC服务框架与容器化演进
防御性编程,简单的说,就是在编程的时候有目的地预测可能的故障点。目的是在那些可能发生的问题发生前解决它们。你看见了问题,对吧?预测意料之外的事情本来就有内在的难度,当你想要预测意料之外的事情并且解决它就更是难上了好几倍。PHP中的防御性编程
在开发MimpiDreams时,我们知道我们想用背景和前景做丰富的视差层。在Steam版本中,有几个图层来管理。所以我们想出了一个可能并不是独一无二的方法,不过在这里还是想概括一下。如何在Unity2D游戏中制作视差效果
天使投资: QQ:
求手游: QQ:
音乐外包: QQ:
游戏合作: QQ:692695
12345678910

我要回帖

更多关于 unity开发2d游戏 的文章

 

随机推荐