初步完成子弹轨迹系统。主要是通过轨迹脚本实现,脚本中会定义方向和速度获取,和一个更新方法,在子弹脚本中会一边更新一边获取轨迹数据,并且还会合并同等覆盖等级的轨迹脚本,使得同等级的轨迹脚本一同修改轨迹数据。其实玩家不太会用到这么丰富的轨迹控制方法,主要是为了给敌方弹幕做的,接下来要考虑的就是如何把这套系统融入到怪物设计中,并找到一个比较高效的工作流。
重组了发射器。主要是合并了多个多重射击的方法以及单颗子弹的方法全部何为一个方法了,算是大大的简化了代码结构。然后还加入了轨迹脚本的设置方法。
添加了轨迹脚本对象池。原来的对象池只能作用于GameObject物体,而这个脚本为了高效我选择的是普通C#脚本,所以就为这个单独建了个对象池。
调整了射程检测方法。这方面还挺烦恼的,目前用的是每帧检测移动距离的脚本,但是这种轨迹扭曲的子弹用这种方法检测就不准确,其他检测射程的方法也各有短板,计算时间会被弹速和轨迹影响;设定超出距离,如果需要小小星球那种弹幕就会无限距离。暂时还是没想到什么好的方法,所以给轨迹脚本加了个射程修正倍率,子弹会根据这个值获取实际检测的射程。
Gif:https://pic1.imgdb.cn/i/034Eu3vZevoWNr8ZeHqvDB.gif