雷霆战机游戏的制作

用unity制作2D游戏雷霆战机还是很简单的,这也是学习unity开发练手的好项目之一了。因为它不是很难,而且涉及到的技术点也还有蛮多。而且他也是非常经典的游戏了。我这里做了一个雷霆战机来分享一下。功能包括子弹子弹发射,大范围发散子弹发射,追踪导弹,激光炮等。哦对了,还有对象池技术。在这里我会详细的说下我的做法,就激光炮有点小难度,其他的应该看下就能懂了。这里先看下效果图。

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

这里不讲对象池,我之前专门讲过的,可以去看看我以前的文章。首先我们来讲下这个追踪导弹的做法,也是比较简单的。我们知道既然是追踪导弹,所以它会每时每刻都朝着敌机过去,所以我们就必须要得到子弹和敌机每时每刻的角度。那么敌机可能有很多在同一时间出现,我们该让它追谁呢?这个就看你自己了,反正是你自己写逻辑,你想怎么做就怎么做,我这里就是随机追一个,如果正在追的那个敌机没了,那么子弹自己爆炸。这里给出追踪导弹代码:

第一个函数是在发射子弹的控制脚本中的函数,第二个是子弹自己的脚本中,很简单,每时每刻记录子弹和目标的角度,然后把子弹的欧拉角的值用这个角度,但是要注意角度方向,所以我这里用比较X值的方法做的。因为是常规2D游戏,所以就是竖直平面内。是不是很简单,然后我们来说下这个激光炮。这个激光炮就有点意思了。原理是这样的,我们从发射口的左边发射一个子弹(空物体就够了),然后让它进行2D射线检测,方向朝它的对面(也就是发射口的右边),他们是对称的。然后由于射线是看不见的,为了用户体验十足,我们把这个射线模拟出来,也就是激光线要绘制出来,就用线渲染器来操作就可以了。代码截图如下

没什么难度,很简单的需求了。好了,本次的分享就到这里了,

相关推荐
颯沓如流星2 小时前
SLG游戏中沙盘元素(通常指资源点、野怪、宝箱等可交互对象)的刷新设计
游戏
m0_552200824 小时前
《UE5_C++多人TPS完整教程》学习笔记49 ——《P50 应用瞄准偏移(Applying Aim Offset)》
c++·游戏·ue5
m0_552200824 小时前
《UE5_C++多人TPS完整教程》学习笔记50 ——《P51 多人游戏中的俯仰角(Pitch in Multiplayer)》
c++·游戏·ue5
红红大虾8 小时前
前台小姐姐10分钟就能掌握的Defold游戏引擎需要的lua入门知识
游戏
wanhengidc9 小时前
使用云手机能否给企业降本增效
运维·网络·科技·游戏·智能手机
ue星空1 天前
月2期学习笔记
学习·游戏·ue5
wanhengidc1 天前
云手机运行流畅,秒开不卡顿
运维·网络·科技·游戏·智能手机
songx_991 天前
leetcode9(跳跃游戏)
数据结构·算法·游戏
wanhengidc1 天前
什么是云手机?
运维·网络·安全·游戏·智能手机
私人珍藏库1 天前
[吾爱原创] 【游戏】王富贵的果菜园
游戏