【包教包会】100行代码的追踪导弹Demo,超简单

一、效果演示

二、如何获取

1、https://gitee.com/szrpf/TrackingBullet

2、解压,导入cocos creator(版本3.8.2),可以直接运行Demo演示

三、算法思路

1、追踪方案优化

优化前:始终朝向目标飞行,直至击中目标。虽然实现了追踪,但是毫无游戏性,只要导弹移速比目标快,必然能逐渐逼近目标直至击中。

优化后:
image

   Step 1:记录目标的坐标,作为追踪坐标。

   Step 2:向追踪坐标飞行,直至击中该坐标,然后重复Step 1。

   在Step 2过程中,追踪的是记录下来的坐标点,而不是目标的实时位置。

2、方向计算

导弹脸的朝向:始终指向目标

导弹飞行方向:始终指向追踪坐标

3、速度计算

要体现惯性,必须将X轴速度、Y轴速度记录下来,逐帧平滑改变

否则导弹会直愣愣得改变速度和移动方向,很假

要有加速减速效果,必须有加速度

要避免速度过快,必须有速度上限

最终速度计算公式:

4、这个Demo只是演示如何做追踪效果,商用项目还可以做得更加精细

例如:

导弹发射后加个部署过程,给玩家一定的预警时间

追踪到碰撞矩形后,可以加个瞄准过程,短暂瞄准后再发起新一轮追踪

追踪一定次数(或指定时间后),会结束追踪飞出屏幕。。。

这样设计更有可玩性,具体看项目需求。

四、结束语

有不明白的,或者优化建议,可以留言评论,或给我发邮件!

包教包会,你会了吗?

创作不易,请多留言讨论,这样我会有动力发更多好玩的东西上来。

Gitee地址:https://gitee.com/szrpf

EMail地址:27185709@qq.com

推荐链接:

1、【包教包会】2D图片实现3D透视效果(支持3.x、支持原生、可合批)

2、CocosCreator3.x框架——音频声音模块(无需导入、无需常驻节点)

2、【包教包会】CocosCreator Assembler经典案例第一期——2D实现3D透视翻转(附Demo源码)

3、【包教包会】对CocosCreator富文本RichText进行全面优化

5、权重随机算法,解决游戏中一切可控随机(刷怪、掉宝、转盘、抽卡等等)

mi

7赞

不错,可以搞个肉鸽游戏了

把子弹改为怪物,出生一直追玩家。再给个生命周期,多久追不到就销毁。

可以的,搞个幽魂这种会飞的怪物,还能边追踪边喷火

大佬,交个朋友

可以加QQ

这个是我的 了。嘿嘿~

你的代码不错,现在它是我的了。

游戏必须要有整蛊思维,否则踹三脚放不出一个屁来,就没意思了。

tmd,真有意思,mark

image
大佬越看越像抖音杨惠三

你这个导弹,刚好可以和你做的拖尾结合在一起

赞,我之前也刚好写过。我也发出来分享下,不过代码我自己都看不懂了。。

1赞

嗯嗯,整一个,效果应该可以

我不和左括号{换行的人说话 :rofl:

1赞

回头发我一份,谢谢

这是csharp

哈哈。你啥都要

好一个自己也看不懂哈哈哈。


神奇AI