基于Unity3D中C#脚本开发的飞机大战游戏设计与实现

2021-09-10 21:16:24张照乾吕文超黄猛
科学与生活 2021年10期

张照乾 吕文超 黄猛

摘要:在信息化的时代,随着人们生活水平的提高,人们对于娱乐的方式也越发丰富,而游戏则是一种深受广大人民群众喜愛的娱乐方式,渐渐成为人们生活中必不可少的一部分。本文通过Unity3D中c#脚本技术实现“飞机大战”这一实例,详细阐述开发3D飞机大战的方法和技术。

关键词: Unity3D;飞机大战;c#脚本

1 系统设计

1.1 系统描述

这款游戏主要是太空射击类游戏,在游戏中,玩家可以驾驶自己的战机,通过击败敌人来获得相应的分数,游戏过程中还可以调试飞行速度,敌人是外太空飞碟和宇宙飞船,玩家可以控制飞机向敌机开火,同时躲避伤害,以保证自己的血量安全。撞击敌人或者受到子弹攻击护甲值减一,当护甲值为0时游戏失败,玩家可以选择再来一次或者退出游戏。

2 关键技术实现

2.1 对象资源池化管理

以飞机本身为例,本游戏系统的资源管控方法基于游戏物体工厂管理UI、UI面板与游戏物体的激活与失活。游戏物体工厂拥有一个工厂基类BaseFactory,实现接口 IBaseFactory并在该基类中使用对象池技术,使子弹、怪物、敌机在生成时不必反复创建和销毁对象,只需要从对象池中取出与放回对象便可节省系统资源。

游戏物体工厂拥有一个枚举类型FactoryType,用于区分不同种类的游戏物体工厂。游戏物体工厂拥有三个工厂类GameFactory、UIFactory和UIPanelFactory继承至工厂基类,它们之间的区别是修改了在对象池获取资源时的资源路径。

2.2 系统关键算法实现

2.2.1碰撞检测基本原理

碰撞检测主要是检测两个或多个物体是否相交,可以通过计算两两物体之间的位置关系进行判断。……

登录APP查看全文