
当在游戏中按下发射按钮时,会根据需要持续发射激光,不过这跟现实是有点不太一样的,如果需要达到这一点,则需要冷却系统。
要达到这个目的,需要使用Time.time为武器制作冷却系统,Time.time是游戏开始运行后的秒数。
起初,需要在Player脚本中创建一个变量来确定是否可以发射,因为无法操Time.time,因为它是只读的,要使用它进行比较,这时需要一个变量来存储游戏已表示时间量开始计时了。
如下所示:

首先设置为负值,这样即使游戏开始运行100秒后也可以允许玩家发射,然后需要一个变量来延迟上一次发射到下一次发射,这是延迟玩家无法再次发射的时间,直到这段时间过去才能再次发射。
如下所示:

还可以添加其他条件,让玩家仅在满足这些条件时才发射。

最后让_canFire变量等于Time.time + _fireRate,这将延迟nextFire的播放器关于指定的 fireRate量。

大家可以从下图中查看整个编程的逻辑思路:

下面是在Unity中演示的最终效果,当用户发射炮弹时会在对象的表面停顿一下,以此达到冷却目的。

…
以上是3D天堂关于在Unity中通过制作2.5D Space Shooter来学习编码的全部内容,如果你有任何反馈,请随时在本页面下方留言。