欢迎光临散文网 会员登陆 & 注册

雷霆战机游戏的制作方法

2022-03-08 19:33 作者:小小游戏开发程序员  | 我要投稿

前言

从掌机到红白机再到街机,从主机到PC再到手机端,游戏的载体一直在变化,不变的是那份永远的乐趣。



即使转移到手机端,游戏的类别依然多种多样。

若论当下最火的手游无疑是俗称“吃鸡”的“和平精英”和“农药”的“王者荣耀”。但棋牌类跑酷类消除类等游戏也有着不少拥趸。对了,还有一款自“掌机”时代就存在的“打飞机”游戏。

知名打飞机游戏必须有“雷霆战机”的一席之地。



虽然是2D画面,但体验感和画面都可以打高分。

今天,我们就来聊一聊雷霆战机游戏是怎么做出来的。

工具:Unity

用unity制作2D游戏雷霆战机还是很简单的,这也是学习unity开发练手的好项目之一了。因为雷霆战机虽然不是很难,但涉及到的技术点很多,而且还是一款非常经典游戏。

这里做了一个雷霆战机来分享一下。

功能包括子弹子弹发射,大范围发散子弹发射,追踪导弹,激光炮等。哦对了,还有对象池技术。在这里会详细说下做法,除了激光炮略有难度,其他应该看下就能懂了。

先看下效果图



image

从图中可以看到有激光炮,追踪子弹,普通子弹(截图的时候没有到发射时间,所以没发出来,大范围的子弹也有,这里没有用。)这些效果是怎么做的呢?接下来慢慢看下。

这里不讲对象池,之前专门讲过,可以去看看以前的文章。

首先讲追踪导弹的做法,比较简单。

所谓追踪导弹,必定会每时每刻都朝着敌机过去,所以我们就必须要得到子弹和敌机每时每刻的角度。那么敌机可能有很多在同一时间出现,我们该让它追谁呢?这个就看自己,反正是自己写逻辑,想怎么做就怎么做。这里就是随机追一个,如果正在追的那个敌机没了,那么子弹自己爆炸。

这里给出追踪导弹代码:



第一个函数是在发射子弹的控制脚本中的函数,第二个是子弹自己的脚本中。很简单,每时每刻记录子弹和目标的角度,然后把子弹的欧拉角的值用这个角度,但是要注意角度方向。所以,我这里用比较X值的方法做的。因为是常规2D游戏,所以就是竖直平面内。是不是很简单?

接着说激光炮的做法

这个激光炮有点意思。原理是:从发射口的左边发射一个子弹(空物体就够),然后让它进行2D射线检测,方向朝它的对面(也就是发射口的右边),他们是对称的。然后由于射线是看不见的,为了用户体验十足,我们把这个射线模拟出来,也就是激光线要绘制出来,就用线渲染器来操作就可以了。

代码截图如下:



搞定~

是不是没什么难度?本来嘛,这算是很简单的需求。

OK,本期技术讲解就分享就到这里了,如果大家有不明白的地方,或者其他疑问,可以在评论区留言,后续将会在评论区一一给大家解答。


雷霆战机游戏的制作方法的评论 (共 条)

分享到微博请遵守国家法律