一、效果演示
二、如何获取
1、https://gitee.com/szrpf/TrackingBullet 1
2、解压,导入cocos creator(版本3.8.2),可以直接运行Demo演示
三、算法思路
1、追踪方案优化
优化前:
始终朝向目标飞行,直至击中目标。虽然实现了追踪,但是毫无游戏性,只要导弹移速比目标快,必然能逐渐逼近目标直至击中。
优化后:
Step 1:记录目标的坐标,作为追踪坐标。
Step 2:向追踪坐标飞行,直至击中该坐标,然后重复Step 1。
在Step 2过程中,追踪的是记录下来的坐标点,而不是目标的实时位置。
2、方向计算
导弹脸的朝向:始终指向目标
导弹飞行方向:始终指向追踪坐标
3、速度计算
要体现惯性,必须将X轴速度、Y轴速度记录下来,逐帧平滑改变
否则导弹会直愣愣得改变速度和移动方向,很假
要有加速减速效果,必须有加速度
要避免速度过快,必须有速度上限
最终速度计算公式:
4、这个Demo只是演示如何做追踪效果,商用项目还可以做得更加精细
例如:
导弹发射后加个部署过程,给玩家一定的预警时间
追踪到碰撞矩形后,可以加个瞄准过程,短暂瞄准后再发起新一轮追踪
追踪一定次数(或指定时间后),会结束追踪飞出屏幕。。。
这样设计更有可玩性,具体看项目需求。
四、结束语
有不明白的,或者优化建议,可以留言评论,或给我发邮件!
包教包会,你会了吗?
创作不易,请多留言讨论,这样我会有动力发更多好玩的东西上来。
Gitee地址:水煮肉片饭 (szrpf) - Gitee.com
EMail地址:27185709@qq.com
推荐链接:
1、【包教包会】2D图片实现3D透视效果(支持3.x、支持原生、可合批)
2、CocosCreator3.x框架——音频声音模块(无需导入、无需常驻节点)
2、【包教包会】CocosCreator Assembler经典案例第一期——2D实现3D透视翻转(附Demo源码)