第4章 穿越子午线
随着移动互联网时代的到来,移动手持设备的功能越来越强大。人们在移动设备上进行娱乐的时间越来越多,同时伴随着智能手机模拟现实技术的成熟,各种模拟现实类游戏更是迅猛发展。
本章将介绍使用Unity 3D游戏引擎开发的一款基于Android平台的第一人称射击游戏——穿越子午线。通过本章的学习,读者将对使用Unity 3D游戏引擎开发Android平台下的3D类游戏的流程有更深的了解。
4.1 游戏背景及功能概述
本小节将对穿越子午线游戏的背景及功能进行简单的介绍,使读者对本游戏的开发有一个整体的认知,方便读者快速理解并掌握本游戏的开发技术。
4.1.1 游戏背景概述
穿越子午线是一款类似CS的人物作战休闲小游戏。玩家需要利用身上携带的枪支,在规定的时间内消灭敌人,然后拆除炸弹成功才能顺利完成任务。
穿越子午线是使用当前最为流行的Unity 3D开发工具、借助火热的界面搭建插件NGUI、结合智能手机的触摸技术打造的一款小型手机游戏。玩家通过触摸屏幕上的摇杆或者各个按钮,实现发射子弹、上下楼梯、切换枪支、自动装弹等效果。该游戏用到的相关技术如下所示。
NGUI插件:NGUI是由Tasharen娱乐公司开发的一款严格遵循KISS原则,并用C#编写的Unity插件,其提供了强大的UI系统和事件通知框架,多数类少于200行代码,程序员可以很容易地扩展NGUI的功能或调节已有功能。
Shader(着色器):Shader(着色器)是用来实现图像渲染的可编辑程序。Shader分为Vertex Shader(顶点着色器)和Pixel Shader(片元着色器),分别负责顶点几何关系和片源颜色等的计算。Shader替代了传统的固定渲染管线,极大提高了图像画质。
智能AI:AI即人工智能。人工智能是对人的意识、思维的信息过程的模拟。本游戏中敌人对自己当前处于一个什么样的状态,面对玩家给予自己的不同反应应该给予玩家怎样的反应,以及手动对发射子弹的方向调整使其产生微小偏差等,都简单用到了AI的思想。
4.1.2 游戏功能介绍
上一小节对游戏的背景进行了介绍,本小节将详细介绍游戏的具体功能,具体步骤如下。
(1)运行本游戏,首先进入欢迎界面,屏幕上显示“百纳科技”四个字,等待两秒钟后,程序会自动跳转到主菜单界面,如图4-1所示。
(2)当游戏的欢迎界面结束后,进入游戏的菜单界面,玩家可在此界面对武器和敌人血量等进行设置,单击界面右侧的音量键图标可以控制游戏音效的开关,如图4-2所示。
▲图4-1 欢迎界面
▲图4-2 菜单界面
(3)在菜单界面中单击“武器”按钮可以进行武器的选择和装备,当未购买某件武器的时候,上面显示“购买”,购买之后显示“装备”,单击“装备”按钮可将武器装备到身上。单击右上角的关闭按钮可以关闭界面,如图4-3所示。
▲图4-3 武器界面
(4)在菜单界面单击“设置”按钮进入游戏的设置界面,如图4-4所示。拖动上面的滑动条可控制游戏中默认敌人血量的多少,拖动下面滑动条可控制游戏倒计时长。玩家无需单击确认,游戏会自动保存当前进度条设定的值。
▲图4-4 设置界面
(5)在菜单界面单击“关于”按钮进入游戏的关于界面,如图4-5所示。该界面中介绍了版权所有声明的相关内容。单击右上角的关闭按钮,可关闭此面板。
▲图4-5 关于界面
(6)在菜单界面单击“开始”按钮进入加载界面,如图4-6所示。加载界面中央显示信息会在“加载中。”、“加载中。。”和“加载中。。。”来回切换,界面下面的绿色滚动条会来回滚动。等待主场景加载完毕后,便会自动跳转到游戏界面。
▲图4-6 加载界面
(7)进入游戏界面后,屏幕上将会弹出任务介绍界面,单击“否”按钮会返回主菜单界面,单击“是”按钮,将会进入游戏主界面,这个时候游戏倒计时也会开始,如图4-7所示。
▲图4-7 任务介绍界面
(8)进入主界面后,可以看到方便玩家控制游戏操作的各个按钮,如图4-8所示。左上角为小视窗,可查看当前玩家所在位置,左下角为游戏摇杆,玩家可通过此按钮移动位置,紧邻其右的按钮依次为下蹲、起跳、瞄准、发射子弹,再往上为装弹和换枪按钮,界面最上面显示的是玩家的生命值,其右为当前游戏所剩时间和所剩子弹数量。
▲图4-8 游戏主界面
(9)单击右上角的换枪按钮,可以更换枪支,在主菜单的武器界面,相信玩家已经看到此游戏中内置了五种类型的枪,游戏规定玩家每次只能携带两种类型的枪支。如图4-9所示,玩家从手枪切换到了另一把枪。杀死敌人后,玩家需要找到炸弹所在地点,如图4-10所示,是发现炸弹的场景。
▲图4-9 其他枪支
▲图4-10 找到炸弹
(10)玩家需要在游戏时间限制内消灭所有敌人,之后玩家需要在游戏场景中找到所有炸弹,然后一直按住发射子弹的按钮直到屏幕上的拆弹进度条走到100%,即表示拆除炸弹,图4-11所示为玩家正在进行拆弹,屏幕中央显示拆弹进度条。
▲图4-11 正在拆弹
(11)游戏胜利界面。玩家成功拆除炸弹后,屏幕上会弹出游戏胜利的界面,游戏根据玩家所剩的时间会给予玩家相应的奖金奖励,如果失败则显示“游戏失败”界面,如图4-12所示。
▲图4-12 胜利界面