- Unity 4.3游戏开发项目实战(C#、JavaScript版本)
- 龚老师
- 1115字
- 2024-11-01 11:05:25
2.1 游戏功能分析
首先运行太空射击游戏项目,了解太空射击游戏项目是一个什么样的游戏;然后对太空射击游戏项目进行功能分析,对该游戏项目有一个比较深入的了解,以便后面逐步实现这个基于2D的射击类游戏。
2.1.1 运行游戏
在光盘中找到游戏项目——2.太空射击游戏项目——SpaceShoot,运行游戏,选择800×600的分辨率,打开如图2-1所示的开始场景界面。
![](https://epubservercos.yuewen.com/E586E6/11989104003033406/epubprivate/OEBPS/Images/figure_0034_0001.jpg?sign=1739230710-wG6x6AgYnJOVWttEoLJhPeEd4nXCR3DO-0-05321c98d2e4ff55848c0eb3f63cce66)
图2-1 开始场景界面
在开始界面中,单击任何键,进入到游戏场景,如图2-2所示。
![](https://epubservercos.yuewen.com/E586E6/11989104003033406/epubprivate/OEBPS/Images/figure_0034_0002.jpg?sign=1739230710-XsO838PVnDoWCntM33qHicWnNmk9olvM-0-876fad7641151bc11a5b9a0ab48f1750)
图2-2 游戏场景界面
在上述游戏场景界面中,左、右键可以左右移动飞机,单击空格键,可以发射炮弹。炮弹每击中陨石一次,就会增加100分,并显示爆炸场景。
图2-3所示是飞机炮弹击中陨石的爆炸界面。
![](https://epubservercos.yuewen.com/E586E6/11989104003033406/epubprivate/OEBPS/Images/figure_0035_0001.jpg?sign=1739230710-Mwg9JCqIIqJzLYMLkMok2YLODwTFTCgL-0-f5bb7dfc4e62e8bde673f08e5f97094e)
图2-3 炮弹击中陨石场景界面
在游戏场景界面中,陨石每砸中一次飞机,飞机的生命值减1,并出现爆炸场景,图2-4所示是陨石砸中飞机的爆炸界面。
![](https://epubservercos.yuewen.com/E586E6/11989104003033406/epubprivate/OEBPS/Images/figure_0035_0002.jpg?sign=1739230710-Hewh7DP0xwbsG1PcQzPnExIgRQ8kyxEA-0-94be934539181b452548ccef22db9ca4)
图2-4 陨石砸中飞机场景界面
如果飞机生命值一直大于0,当倒计时为0的时候,游戏界面将会转到赢家场景,如图2-5所示。
![](https://epubservercos.yuewen.com/E586E6/11989104003033406/epubprivate/OEBPS/Images/figure_0035_0003.jpg?sign=1739230710-hDI54DZ0XUTfThM25ekf5UoaW1Fy2PCd-0-8843e270e835cfbc78a843d41c3ffa49)
图2-5 赢家场景界面
在赢家场景图2-5中,单击任意键,又将进入如图2-2所示的游戏场景。
如果飞机的生命值等于0,则游戏界面将会转到输家场景,如图2-6所示。在输家场景图2-6中,单击任意键,此时就会再次进入如图2-2所示的游戏场景。
![](https://epubservercos.yuewen.com/E586E6/11989104003033406/epubprivate/OEBPS/Images/figure_0035_0004.jpg?sign=1739230710-A6ZGL1VnYre9Cl6CKrSluYY64kPGxF8d-0-d1b0adf5da71000b4c7ec9ad45bb80fc)
图2-6 输家场景界面
2.1.2 游戏功能分析
通过运行上述太空射击游戏,可以看到:整个游戏可以划分为四个游戏场景,它们分别是游戏开始场景、游戏场景、输家场景和赢家场景。
这些场景的逻辑关系如图2-7所示。
![](https://epubservercos.yuewen.com/E586E6/11989104003033406/epubprivate/OEBPS/Images/figure_0035_0005.jpg?sign=1739230710-uzzhTmJtXNjsiG8ozly2ZzLvfcHX5IZ5-0-e77a09d1539c0853a75c5fe2386f68ea)
图2-7 四个游戏场之间的关系
在图2-7中,游戏开始场景是游戏运行的开始界面,在游戏开始场景中单击任意键,进入游戏场景,而游戏场景则是游戏的主界面。
在游戏场景中,如果飞机的生命值等于0,则游戏进入输家场景;如果游戏到倒计时等于0,则游戏进入赢家场景。在输家场景或者在赢家场景中,单击任意键,重新进入游戏场景。
在游戏场景中,主要有三个游戏对象,分别是飞机、陨石和飞机发射的炮弹。当飞机发射的炮弹击中陨石时,会出现爆炸效果;当陨石砸中飞机时,也会出现爆炸效果,因此还有两个爆炸效果对象。为实现游戏的可玩性,还需要显示分数、飞机的生命值和最高计分,并且显示游戏的倒计时。
完成该游戏后,游戏项目的目录结构如图2-8所示。其中Image目录存放各个游戏对象所对应的的图片;sound目录存放各种声音文件,如发射炮弹的声音、爆炸声等。四个游戏场景则位于根目录之中。
![](https://epubservercos.yuewen.com/E586E6/11989104003033406/epubprivate/OEBPS/Images/figure_0036_0001.jpg?sign=1739230710-wBW4YlEPQ56LoyZMe4w2J3LRp4W5EaE9-0-acc8d2ca8ed30878119440118b500b27)
图2-8 游戏项目的目录结构
图2-9则显示了prefabs目录中的相关预制件对象,如显示2D图片的sprite预制件、炮弹预制件projectile等。
![](https://epubservercos.yuewen.com/E586E6/11989104003033406/epubprivate/OEBPS/Images/figure_0036_0002.jpg?sign=1739230710-sYfub3KO5j7reC9agvFdsErCm3gfx3XK-0-729957bffe59e3d2cc5574cccab836c2)
图2-9 prefabs目录
对于C#开发者来说,图2-10显示了需要开发者开发的C#文件,共有9个文件;对于JavaScript开发者来说,图2-11则显示了需要开发者开发的JavaScipt文件,共有9个文件。
![](https://epubservercos.yuewen.com/E586E6/11989104003033406/epubprivate/OEBPS/Images/figure_0036_0003.jpg?sign=1739230710-z6HIJPRMuxc1hQvwDozS5puf9utnHHer-0-3039084cc72f81c93432a96af8e2bfd0)
图2-10 C#文件
![](https://epubservercos.yuewen.com/E586E6/11989104003033406/epubprivate/OEBPS/Images/figure_0036_0004.jpg?sign=1739230710-z7FSQD42FPhpIIFzD9KeIk7b0tdEf92P-0-2a1c32e4ef2262b4c4495fff2cdb0668)
图2-11 JavaScript文件
这些开发文件的具体功能说明见表2-1。
表2-1 开发文件的功能说明
![](https://epubservercos.yuewen.com/E586E6/11989104003033406/epubprivate/OEBPS/Images/figure_0037_0001.jpg?sign=1739230710-7ElUhA1VPG5yWKy9VnzDFucWcwIOkvot-0-a2cb1c46648b28d3b30ab1f3de4a9e7d)