4.3 游戏的架构

上一个小节向读者介绍了穿越子午线游戏的策划以及简单的准备工作。本节将简单介绍一下游戏的架构,读者通过这一节可进一步了解游戏的开发思路,对整个开发过程也会更加熟悉。

4.3.1 各个场景的简要介绍

在Unity中,场景开发是游戏开发的主要工作。每个场景包含了多个游戏对象,其中某些对象还被附加了特定功能的脚本。本游戏包含两个场景,接下来对这两个场景进行简要的介绍。

1.主菜单界面

主菜单界面“MenuScene”是转向各个场景的中心场景,在该界面中可以通过单击按钮进入其他信息设置界面,单击“武器”按钮,玩家可在武器界面购买装备武器;单击“设置”按钮,可对敌人的血量和游戏的时间进行设置;单击“关于”按钮弹出关于面板,单击“退出”按钮则退出游戏。

该场景界面是使用Unity 3D插件NGUI实现的,NGUI提供强大的UI系统和事件通知框架,可以帮助读者很方便地编写出漂亮的界面。

2.游戏界面

游戏界面“GameScene”是本游戏最为重要的界面,也是本游戏的开发重点。该界面中有多个游戏对象,主要包括多个摄像机、地图、炸弹等模型或场景对象。本游戏中的其他游戏对象,如特殊粒子渲染效果、人物模型等都被制作成了预制件,这样能够更加节省资源。

4.3.2 游戏框架简介

为了加深读者对此游戏的进一步了解,本小节将从游戏的整体架构来进行介绍,如图4-13所示。

▲图4-13 游戏整体架构

从图4-13中可以看出,本游戏主要由两个界面组成。接下来按照程序运行的顺序介绍各个界面的作用以及游戏的整体框架,具体步骤如下。

(1)运行本游戏,首先会进入到主菜单界面。此界面是用NGUI插件编写而成的,NGUI控件与控件之间可以进行嵌套,父控件可以包含子控件,子控件又可以进一步包含子控件。整个游戏界面布局格式为:在一个NGUI Panel下面放置了关于、设置等各个按钮。单击按钮进入各个子场景。

(2)游戏界面包含场景地图模型,之后在地图上面放置了敌人模型、炸弹模型、Player模型以及不可或缺的灯光。其中,Player采用第一人称视角,其下挂载了两个摄像机,一个是Main Camera,相当于玩家的眼睛,另外一个是俯视摄像机,用于游戏界面左上角小地图的绘制。

(3)通过往模型上面挂载所需的脚本,来对游戏逻辑进行控制。其中,单击NGUI控件显示某种效果,是通过发送消息调用相关函数机制完成的,将会在下一章节详细介绍。