卢杰-基于Unity3D的坦克大战游戏的设计实现分析
基于Unity平台的三维坦克游戏设计与实现

基于Unity平台的三维坦克游戏设计与实现作者:李慎亮司占军来源:《软件导刊》2015年第08期摘要:为了解Unity与三维建模软件的兼容问题,以及游戏的基本制作流程,以90坦克为原型,在3D Max中进行了建模、UV分展。
在PS 中进行贴图制作,在Gold Wave中进行音乐切分制作;在Unity中综合运用各种资源,结合AI、刚体检测等技术实现了碰撞检测、键盘检测、爆炸等效果,最终制作出了一款操作性好、画面精良、具有一定趣味性的3维TPS游戏。
关键词:TPS;Unity;三维游戏;坦克游戏DOIDOI:10.11907/rjdk.151403中图分类号:TP319文献标识码:A 文章编号文章编号:16727800(2015)0080152030 引言计算机软硬件技术的发展水平越来越高,画面简单、立体感差的二维平面游戏正在淡出人们的视野。
立体感强、操作性好、画面精美的三维游戏越来越受到玩家和游戏厂商的喜爱。
虚拟现实、体感检测等技术的发展更是为游戏产业的发展提供了良好的技术支持。
本文以三维坦克游戏的开发过程为例,介绍了Unity平台与其它软件之间的关联以及注意事项。
1 游戏设计为了让游戏情节更好地展开,增加游戏的趣味性,本次实验设计了山区狙击战、城镇街道战及工厂会战3种游戏场景,游戏设计如图1所示。
2 预期效果(1)键盘监听。
能够监听键盘上的按键,根据玩家按下的不同按键作出相应反应。
例如按下A、S、W、D键会让坦克向左、右、前、后行驶。
(2)摄像头跟随。
摄像机跟随游戏中的角色移动。
摄像机要有广阔的视野,以便玩家能够及时了解游戏的变化。
(3)坦克AI(人工智能)。
标识为敌人的坦克能够在地图范围内随意走动,且能够自主判断在其范围内的其它坦克是否为敌人。
(4)爆炸效果。
坦克的炮弹射出后击中目标产生爆炸效果,同时播放爆炸音效,模拟真实的爆炸情景。
(5)炮台转向。
坦克静止后,坦克炮台随着鼠标的移动在一定角度范围内转向。
基于Java的坦克大战游戏的设计与实现毕业设计论文

基于Java的坦克大战游戏的设计与实现摘要:随着人们对生活质量的要求一天比一天高,为了让人们更好地开掘自身的智慧,游戏就此进入了大众的视野,在人们的生活中有着重要的位置,已然变得必不可少。
游戏产业推动高新技术不断升级,极大地促进了经济的增长,推动了“第四产业”的经济腾飞。
坦克大战游戏是童年时期经常玩的经典游戏,我们对它都十分了解。
游戏通过分析JA V A游戏开发和代码设计,用Eclipse软件开发了坦克大战游戏,运用接口技术,使一个类能够实现多个接口,使用套接字Socket 来完成client端和server端的连接。
玩家通过连接访问进入游戏,通过操纵坦克来守卫基地,玩家还可以获得超级武器来提升坦克的属性,摧毁全部敌方坦克来取得胜利,操作非常简单,还具有非常高的普遍率,适合所有人群玩。
该游戏既满足了人们的个性化需求,也让玩家在游戏过程中丢掉烦恼,尽情地释放压力。
关键词:Java 坦克大战游戏SocketThe Design and Implementation of The Java Based Tank War GameAbstract:As people demand higher quality of life every day, in order to make people better dig their own wisdom, the game into the public vision, in people's lives have a vital position, has become an indispensable part. The game industry to promote the upgrading of high-tech, which greatly promoted the economic growth, and promote the "fourth industry" economic take-off. Tank war game is often played in childhood, but also the classic game. Game through the analysis of JA V A game development and code design, with Eclipse software developed a tank war game, the use of interface technology, so that a class can achieve multiple interfaces, the use of socket Socket to complete client and server side of the connection. Players access the game through the connection, through the manipulation of tanks to guard the base, the eradication of all enemy tanks to win, players can also get super weapons to enhance the properties of the tank, the operation is very simple, suitable for people of all ages to play. The game not only meets the individual needs of people, but also allows players to lose trouble in the course of the game, enjoy the pressure to release.Key words: Java; Tank war game; SocketII目录1.引言 (1)2.系统分析 (1)2.1需求和技术分析 (1)2.2功能分析 (2)3.总体设计 (2)3.1总体功能 (2)3.2坦克大战总体流程图 (4)4.详细设计 (5)4.1面板功能设计 (5)4.2子弹功能设计 (8)4.3坦克功能设计 (9)4.4服务器设计 (10)4.5客户端设计 (13)5. 游戏测试 (15)5.1测试方法 (15)5.2系统测试 (15)5.3测试分析和小结 (17)6.结论 (18)参考文献 (18)1.引言随着社会和时代的进步,来自各个方面的压力让人没精打采,为了分解人们的压力,休养那变得疲顿的头脑和劳累的身心,特设计了坦克大战小游戏,游戏操作非常容易,只要将手指放在键盘上敲击相关的游戏键就可以玩,在玩游戏的过程中能够体验现实生活中没有的快乐,既有利于身心健康,又不会影响工作和学习。
基于Unity平台的三维坦克游戏设计与实玛

本 文 以 维 坦 克 游 戏 的 开 发 过 程 为 例 , 介绍¨ r Un i t y
、 r俞与 其 它 软 件 之 间 的关 联 以及 注 意 事项 。
l 游 戏 设 计
为_ 『让 游 戏情 节 更 好 地 展 开 , 增 加 游 戏 的 趣 味性 , 本 次 实验 设 计 了 山 区狙 击 战 、 城 镇 街 道 战 及 工 厂 会 战 3种 游 戏场景 , 游 戏设 计 如 图 1所 示 。
笫l 4 卷 第8 期 2 ( ) l 5 年 8 J
Vo 1 .1 4NO 8 Aug. 2 01 5
基于 U n i t y平 台 的 三 维 坦 克 游 戏 设 计 与 实 现
李慎 亮 , 司 占军
( 天 津 科 技 大 学 包 装 与 印 刷 工程 学 院 , 天津 3 0 0 2 2 2 )
像 处理 。
软 件 导 刊
纽 带 , 游戏物体实现 的各种 效果都 需要脚 本来控 制 , 例
如坦克的移动 :
f u n c t i o n Up d a t e( ){
会 受 到 鼠标 的 影 响 , 因此 需 要 在 Un i t y中将 其 设 置 为 父 子 关系 , 并 分别 设 置脚 本 , 炮 台 的脚 本 代 码 如 下 :
像机要有广 阔的视 野 , 以 便 玩 家 能 够 及 时 了 解 游 戏 的变
化。 3 . 1 模 型 创 建 与 优 化
3 实验 流 程
( 3 ) 坦 克 AI ( 人1 = 智能 ) 。标 识 为 敌 人 的 坦 克 能 够 在
模 型是 游 戏 的基 础 , 精致的 _ 二 维 模 型能 够 提 高 游 戏 的
基于Unity3D的坦克大战游戏设计与实现

基于Unity3D的坦克大战游戏设计与实现作者:马晓萍刘静来源:《数字技术与应用》2017年第06期摘要:针对传统坦克大战游戏中子弹单枚发射,血量为零时坦克直接消失,为增加游戏趣味性,本设计以Unity 5.4为开发平台,选择C# 作为脚本语言,在传统游戏基础上设计并实现了增加子弹发射数量、坦克损坏后消失两个趣味、仿真效果。
关键词:Unity;脚本语言;坦克游戏中图分类号:TP319 文献标识码:A 文章编号:1007-9416(2017)06-0168-011 UnityUnity5是一款利用新增的编辑器功能集,具备了跨越23个平台的多平台交互式游戏引擎,Unity Cloud Build 服务,使得开发者通过云计算可以更有效的进行游戏和应用的开发[1]。
该系统自带人物模型,粒子特效,可视化编程解决方案,天空盒、地形、树等丰富的资源包[2]。
Unity 有内置脚本资源包,集成了MonoDevelop脚本编辑器,本设计以C#为脚本语言。
2 实验设计为了让坦克大战游戏情节更好地展开,增加游戏的趣味性,本次实验在传统的坦克大战游戏基础上设计了增加子弹数量、坦克先损坏再消失两个游戏效果。
(1)增加攻击效果。
根据不同玩家按下的不同按键发射子弹攻击敌方,例如按下 ENTER 或者回车键,即可发射出已经设置好的相应子弹数目。
(2)被攻击坦克先损坏,再消失。
传统游戏版本中,当被攻击的坦克的血量变为零时,该坦克会立即自动消失。
为了能更加逼真,血量为零后,先出现一个被损坏的坦克,2秒后再消失。
3 实验流程3.1 模型导入与创建(1)实验中直接导入fbx格式模型[3]。
(2)将所需物体从原有的models中的设置为预置物体,并拖放到prefabs中,使用时将预置物体挨个拖拽到场景中进行布置,实现预置物的实例化。
3.2 脚本编写3.2.1 增加子弹数目在inspector中修改tank 的TankHealth 面板属性 explosion prefab 的值为BustedTank。
基于Cocos2d-x的iOS游戏坦克大战的设计与实现_中山大学毕业设计

本科生毕业论文题目:基于Cocos2d-x的iOS游戏坦克大战的设计与实现院系:软件学院专业:软件工程(计算机应用方向)学生姓名:刘志鹏学号: 10389021 指导教师:路永和(副教授)二〇一四年四月摘要坦克大战一款基于Cocos2d-x跨平台引擎开发的iOS 平面射击游戏。
本论文根据现今智能手机游戏市场发展现状,同时对主流的手机游戏引擎进行分析和总结,结合项目取材和项目目的,提出了相应的项目开发方案。
项目的主要内容是使用Cocos2d-x跨平台手机游戏开发引擎,在Mac OS下使用Xcode开发经典平面射击游戏坦克大战的iOS版本。
项目完成过程中,完成对手机游戏设计开发测试流程,同时掌握Mac OS下Xcode等开发工具的使用,了解熟悉Cocos2d-x引擎的框架、组件实现原理和使用方法。
项目采用Cocos2d-x 的游戏框架,结合坦克大战游戏特征,设计了合理地游戏系统架构:底层使用Cocos2d-x引擎及其它相关底层库,在上层将核心功能分模块实现,项目的主要模块包括界面逻辑管理模块、用户控制模块、数据更新及传递模块、地图制作和读取模块、实时碰撞检测模块、NPC人工智能模块、数据和图片加密压缩模块和特效音效模块。
项目开发过程中参考学习了相关的文献和项目设计,对游戏中的核心模块不断迭代和优化,其中用户控制模块主要设计了虚拟摇杆提高了玩家的操控体验;实时碰撞检测模块中主要运用了基于均匀空间划分的碰撞检测,提高了碰撞检测效率;NPC人工智能模块则主要是运用了模糊状态机和A*寻路算法和Bresenham算法结合实现,对于游戏难度有较好额把控;扩展模块部分中的数据部分用了Base64进行加密和解密处理,图片则使用Mac OS下图片处理工具TexturePacker 进行打包处理,降低了图片的内存空间占用,同时对图片资源进行了较好的管理。
本项目开发的iOS版坦克大战,操作简单,游戏逻辑清晰,可玩性高,符合手机游戏的取材要求,将经典的射击游戏配合手机触摸操作和动作、音乐特效,结合社交和抽奖体统,并通过AI算法的优化,可以带来更好的用户体验和更高的可玩性,同时,本项目基本覆盖了手机游戏的主要元素:基本游戏架构和模块组织、触摸事件处理、地图及寻路系统、实时碰撞检测算法等,同时也基本覆盖了游戏引擎提供的子系统,因此本项目对于手游开发流程、关键技术和Cocos2d-x的使用方法有较系统的总结作用,具有一定意义。
基于unity的坦克大战设计与制作国内外同类研究概括

基于unity的坦克大战设计与制作国内外同类研究概括
基于Unity的坦克大战是一款经典的游戏类型,它可以让玩家在虚拟世界中体验激烈的战斗和策略性的决策。
以下是国内外同类研究的概括:
1.《坦克大战》(1980年)
这是游戏史上最早的坦克大战游戏,由Atari公司开发。
该游戏采用俯视角度,玩家操纵坦克在迷宫中寻找并摧毁敌方坦克,同时需要躲避地雷和敌方子弹。
2.《坦克大战3D》(1995年)
这是一款3D第一人称射击游戏,由Westwood Studios开发。
该游戏采用3D图像,玩家操纵坦克在各种场景中进行战斗,并可以升级自己的坦克。
3.《坦克之战》(2014年)
这是一款由中国游戏开发公司Perfect World开发的坦克大战游戏。
该游戏采用 Unity3D 引擎,玩家可以选择不同的坦克和武器进行战斗,并可以参加多人联机对战。
4.《坦克大战Online》(2017年)
这是一款由韩国游戏开发公司Nexon开发的坦克大战游戏。
该游戏采用Unity引擎,玩家可以选择不同的坦克和武器进行战斗,并可以参加多人联机对战。
总体来说,基于Unity的坦克大战游戏在国内外都有着较为丰富的研究和开发经验,不断推陈出新,以满足玩家们对游戏体验的需求。
坦克大战 毕业设计报告

本科毕业设计(论文)题目基于jsp的坦克大战游戏的设计与实现学院名称信息学院专业班级计科(高职)10-1学生姓名郭建建导师姓名贾瑞祥二○一四年五月二十八日齐鲁工业大学本科毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导教师的指导下独立研究、撰写的成果。
设计(论文)中引用他人的文献、数据、图件、资料,均已在设计(论文)中加以说明,除此之外,本设计(论文)不含任何其他个人或集体已经发表或撰写的成果作品。
对本文研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示了谢意。
本声明的法律结果由本人承担。
毕业设计(论文)作者签名:年月日齐鲁工业大学关于毕业设计(论文)使用授权的说明本毕业设计(论文)作者完全了解学校有关保留、使用毕业设计(论文)的规定,即:学校有权保留、送交设计(论文)的复印件,允许设计(论文)被查阅和借阅,学校可以公布设计(论文)的全部或部分内容,可以采用影印、扫描等复制手段保存本设计(论文)。
指导教师签名:毕业设计(论文)作者签名:年月日年月日目录摘要 (3)ABSTRACT (IV)第一章绪论 (5)1.1 课题背景和意义 (5)1.2国内外游戏发展状况 (5)1.2.1与欧美对比 (5)1.2.2 与韩国对比 (5)1.2.3 与日本对比 (5)1.2.4 我国国内的发展状况 (6)1.3章节安排 (7)第二章开发技术概述 (8)2.1 系统运行环境 (8)2.2 JA V A语言的特点 (8)2.3 关于JSP (9)2.4本章小结 (10)第三章游戏设计的原理及技术 (11)3.1游戏概述 (11)3.1.1游戏概念 (11)3.1.2游戏类型 (11)3.1.3游戏的市场与需求 (12)3.2游戏设计相关技术 (12)3.2.2 OPENGL (12)第四章系统设计 (14)4.1系统需求分析 (14)4.2 系统总体设计 ................................................ 错误!未定义书签。
坦克大战论文(正式)

基于Unity3D的坦克大战游戏目录第1章绪论 (1)1.1选题背景及意义 (1)1.2 发展现状 (2)1.3 研究的主要容与方法 (2)1.4 文档结构安排 (2)第2章系统分析与设计 (4)2.1用户需求分析 (4)2.2 游戏规则 (4)2.3 美工需求 (4)2.4 功能需求 (5)第3章系统实现 (6)3.1主角 (6)3.2 敌方坦克 (6)3.3 子弹6第4章系统测试 (7)4.1测试要点 (7)4.2测试时间、地点、人员 (7)4.3测试环境描述 (7)4.4功能测试执行情况8第5章结束语 (9)5.1总结 (9)5.2 不足及展望第1章绪论1.1选题背景及意义游戏软件业是一个新兴行业,存在着巨大的生存和发展空间,同时它也是一个存在社会争议的行业。
游戏的完整定义可以归纳为:一种由道具和规则构建而成、由人主动参与、有明确目标、在进行过程中包含竞争且富于变化的以娱乐为目的的活动,它与现实世界相互联系而又相互独立,能够体现人们之间的共同经验,能够体现平等与自由的精神。
游戏产业准确地讲应该叫做电子娱乐业,是指基于电子技术、计算机技术、软件技术、网络技术和无线技术的新型娱乐产业,分为单机游戏、网络游戏和无线游戏等几个部分。
电子游戏业从诞生至今已经有几十年的时间,可仅仅在这短短的几十年的时间里,它却在发达国家的经济发展中发挥了显著的作用。
游戏软件业从诞生到现在,历经几代的发展,已进入了一个非常成熟的时期。
对于我国而言,游戏软件业也有快速的发展,但是因为很多原因阻碍了这个产业的发展,如游戏软件研发人才缺乏,软件开发投入不足;对青少年的负面影响,一些不健康的游戏软件导致了社会对游戏软件的偏见;技术滞后等情况。
坦克大战游戏是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。
它看似简单但却变化无穷,令人上瘾。
相信大多数用户都还记得为它痴迷得茶不思饭不想的那个坦克大战时代。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业实训报告课题名称:基于Unity3d的坦克大战游戏的设计与实现专业:软件技术班级:RZ软技154学号:201560190410学生姓名:卢杰指导教师:赵冬2017年5月15日关于卢杰同学的实训鉴定同学于年月日至年月日在我公司部门进行了毕业实训。
在实训中,该同学在单位签章:指导教师签字:年月日毕业实训任务书毕业实训评审表摘要本文利用Unity3D跨平台功能的突出、兼容性强的特点,结合C#开发一款坦克大战的游戏系统,该系统运行流畅,具有较好的可玩性和跨平台性。
课题题目为基于Unity3D的坦克大战游戏的射击与开发,旨在成功的设计出一款可以在PC端运行的坦克游戏,在毕业设计完成时,坦克模型应该能再PC端运行。
游戏中,我们可以利用鼠标、键盘来对我们的坦克进行前进后退,而且可以对坦克进行旋转以及发射炮弹,通过这次设计,自己也体验了技术实现的过程。
关键词:Unity3D;坦克大战游戏;游戏引擎目录摘要 (V)第1章项目概述 (1)1.1项目背景 (1)1.2技术路线 (1)1.2.1 游戏设计与制作阶段 (1)1.2.2 开发环境 (1)1.3项目设计目标 (2)第2章系统设计 (3)2.1系统的整体设计 (3)2.2系统的界面设计 (3)2.2.1 游戏主菜单 (3)2.2.2 游戏帮助界面 (4)2.2.3 游戏结束界面 (4)2.2.4 游戏主界面 (5)2.2.5 主角模型 (5)2.2.6 敌人模型 (6)2.2.7 游戏地图模型 (6)第3章游戏菜单界面实现 (8)3.1按钮的实现 (8)3.2游戏主菜单界面的实现 (8)3.2.1 说明按钮 (8)3.2.2 退出按钮 (8)3.2.3 游戏开始按钮 (8)3.3游戏帮助界面的实现 (9)3.3.1 关闭按钮 (9)3.3.2 游戏帮助文字 (9)3.4游戏结束界面的实现 (9)3.4.1 重新开始按钮 (9)3.4.2 退出游戏按钮 (10)3.4.3 分数显示 (10)3.5游戏主界面的实现 (10)3.5.1 重置按钮 (10)3.5.2 退出按钮 (11)3.5.2 游戏得分 (11)第4章游戏主界面实现 (12)4.1场景的搭建 (12)4.2主角的功能实现 (12)4.2.1移动 (12)4.2.2攻击 (12)4.2.3受到伤害 (13)4.3摄像机的功能实现 (14)4.3.1移动 (14)4.3.2围绕主角旋转 (14)4.3.3视野的拉近或拉远 (15)4.4敌人的功能实现 (15)4.4.1 生成 (16)4.4.2 移动 (16)4.4.3 攻击 (17)4.4.4 受伤 (17)4.5炮弹的碰撞检测 (18)4.5.1 炮弹的身份 (18)4.5.1 碰撞检测 (18)第5章系统测试 (20)5.1在U NITY3D中运行测试 (20)5.2在PC中运行测试 (20)5.3测试结果 (23)第6章结束语 (24)第1章项目概述1.1 项目背景随着社会的科技水平和经济水平的迅速发展,游戏行业以迅雷不及掩耳之势快速的发展着。
现在的游戏行业和电影行业可以说已经站在同一高度,特别是3D技术的进步使得游戏在人们的日常生活中占据着重要的地位。
在3D技术如此盛行的今天,游戏引擎收到的关注也持续高涨,目前主要的引擎有BigWorld引擎、Unreal Engine3虚幻引擎、Gamebryo 引擎、Unity3D引擎。
相对于前三种引擎来说,Unity3D是最近几年才流行起来,但它由于完美的跨平台系统使他迅速的在引擎市场占据了重要的地位。
本文将介绍一款以Unity3D 为开发平台,结合C#的坦克大战游戏系统,该系统在保证运行效果的同时,具有设备要求低,跨平台性能好,运行流畅稳定的特点。
1.2 技术路线1.2.1 游戏设计与制作阶段在游戏设计的阶段就要想好这款游戏的大概内容,主题鲜明,并且具有良好的游戏乐趣,游戏内容丰富,符合我们日常生活中的逻辑规律。
1.2.2 开发环境Unity3DUnity是一款跨平台的游戏开发工具,从一开始就被设计成易于使用的产品。
作为一个完全集成的专业级应用,Unity还是功能强大的游戏引擎。
Unity3D是一个让你轻松创作的多平台的游戏开发工具,是一个全面整合的专业游戏引擎。
C#语言C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些他们的复杂特性(例如没有宏以及不允许多重继承)。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、-优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
1.3 项目设计目标本游戏应该具备如下界面和功能:(1)界面设计的美观。
(2)主角进行移动和碰撞检测。
(3)敌人自动寻路以及自动攻击(4)敌人的死亡与主角的死亡。
第2章系统设计2.1 系统的整体设计游戏系统设计主要包含主菜单界面、主场景和游戏结束场景这三大模块组成。
其中在主菜单界面和游戏结束场景界面实现了按钮的点击事件;主场景是该游戏的主体,主角和敌人的逻辑都在该场景中实现。
游戏的流程图如图2.1所示:图2.1 游戏流程图2.2 系统的界面设计2.2.1 游戏主菜单游戏主菜单如图2.2所示:图2.2 游戏主菜单2.2.2 游戏帮助界面游戏帮助界面如图2.3所示:图2.3 游戏帮助界面2.2.3 游戏结束界面游戏结束界面如图2.4所示:图2.4 游戏结束界面2.2.4 游戏主界面图2.5 游戏主界面2.2.5 主角模型主角模型如图2.6所示:图2.6 主角模型2.2.6 敌人模型敌人模型如图2.7所示:图2.7 敌人模型2.2.7 游戏地图模型游戏地图模型如图2.8所示:图2.8 游戏地图模型第3章游戏菜单界面实现本章包括按钮的制作和游戏介绍、帮助界面。
这些事关联在一起的,通过点击对应的按钮来达到对应场景的切换。
它们的制作主要利用UGUI(Unity3D的内置组件)来实现的。
3.1 按钮的实现(1)按钮是由Image组件(需添加Button脚本,该脚本为Unity3D内置脚本)和Text 组件结合实现的。
(2)按钮的点击功能,在每个Button脚本下都有一个OnClick()(点击事件)方法可以绑定点击后需要实现的方法。
然后将每个按钮的方法绑定上去即可实现按钮功能。
3.2 游戏主菜单界面的实现3.2.1 说明按钮(1)功能说明按钮的功能是将游戏说明界面显示出来,也就是切换到游戏说明界面场景。
(2)代码如下public void OnIntroButtonClick(){SceneManager.LoadScene("StartUI_Intro");}3.2.2 退出按钮(1)功能退出按钮的功能是将游戏退出。
(2)代码如下public void OnExitButtonClick(){Application.Quit();}3.2.3 游戏开始按钮(1)功能游戏开始的功能是进入游戏主场景,也就是切换到游戏主场景。
(2)代码如下public void OnStartButtonClick(){SceneManager.LoadScene("Main");}3.3 游戏帮助界面的实现3.3.1 关闭按钮(1)功能关闭按钮的功能是关闭游戏帮助界面,回到游戏主菜单,也就是切换到游戏主菜单。
(2)代码public void OnCloseButtonClick(){SceneManager.LoadScene("StartUI");}3.3.2 游戏帮助文字界面上的文字描述,主要是利用UGUI中的Label来实现。
在Text属性里输入需要显示的内容,即可显示出来。
如图3.1所示:图3.1 游戏帮助Text3.4 游戏结束界面的实现3.4.1 重新开始按钮(1)功能重新开始按钮的功能是回到游戏主界面,也就是切换到游戏主界面(2)代码public void OnResetButtonClick(){SceneManager.LoadScene("Main");}3.4.2 退出游戏按钮(1)功能退出游戏按钮的功能是将游戏退出(2)代码public void OnExitButtonClick(){Application.Quit();}3.4.3 分数显示(1)功能分数显示是在游戏结束后将数据保存下来,切换到游戏结束场景后将数据读取并显示出来,然后将分数归0。
(2)代码using UnityEngine.UI;public Text score_Text;void Start(){score_Text.text = "最终得分为:" + PlayerPrefs.GetString("分数") + "分";PlayerPrefs.SetString("分数", "0");}3.5 游戏主界面的实现3.5.1 重置按钮(1)功能重置功能按钮是将游戏回到刚开始游戏的样子,也就是重新加载本场景(2)代码public void OnResetButtonClick(){SceneManager.LoadScene("Main");}3.5.2 退出按钮(1)功能退出按钮的功能是回到游戏结束的界面,也就是将场景切换到游戏结束的场景。
(2)代码public void OnQuitButtonClick(){SceneManager.LoadScene("GameOver");}3.5.2 游戏得分(1)功能当击杀一个敌人后变增加分数,并且保存分数,将分数显示出来(2)代码public void ScoreAdd(){score.text = "分数:" + scoreNum + "分";PlayerPrefs.SetString("分数", scoreNum.ToString());}第4章游戏主界面实现4.1 场景的搭建将Unity资源包(后缀名为.unitypackage)导入到项目当中,导入的方式为直接拖拽资源包至Project面板下,然后选择全部导入。
导入后选择场景模型,拖拽至Hierarchy面板,将模型的Transform组件Reset,场景的搭建就完成了。
4.2 主角的功能实现首先在导入的资源包中找到主角模型,将其拖拽至Hierarchy面板。
4.2.1移动(1)实现思路在主角身上添加Rigidbody刚体组件,使用刚体组件通过horizontal轴和vertical轴来运动,W、S控制主角的前进和后退,A、D控制主角的左右旋转。