【包教包会】3.x拖尾MotionStreak威力加强版(支持3.x、支持原生、可合批)


将去年写的2.x拖尾升级到3.x

完美适配Web、原生平台(其余平台没测过)。

保留原版功能(拖尾会跟随节点位移、缩放、受节点透明度影响,但不会跟随节点旋转)

支持世界坐标 / 本地坐标切换(至于为什么需要这个功能,可以参考2.x的帖子: 【包教包会】对CocosCreator拖尾组件MotionStreak做了全面优化
0
3.x的Assembler有几个大坑都已填平,看懂这个组件就基本可以玩转Assembler了。

附上下载地址:水煮肉片饭/MotionTrail3.x

如何导入自己项目:
1、将Demo中MotionTrail.ts复制到自己项目assets目录下

2、新建一个节点,将MotionTrail挂上去,然后拖一张图片作为拖尾图片,搞定!
image
其余不明白的评论区沟通~

加油:sunglasses::sunglasses::sunglasses::sunglasses::sunglasses::sunglasses::sunglasses:

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

EMail地址:27185709@qq.com

推荐链接:

1、【包教包会】CocosCreator3.x框架——资源管理(秒Loading、大厅子游戏、同步加载、极简对象池、多语言)

2、【包教包会】CocosCreator3.x框架——节点扩展(仿2.x风格直接设置属性、渐变色、振动、实时销毁)

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

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

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

mi

18赞

mark一下

大佬,终于等到你 :heart_eyes:

@27185709 大佬,做子弹拖尾的时候,从对象池里取出来,会从回收位置画一条拖尾过来,怎么处理呢

可以了,设置一下isActive = true; 就好了

嗯嗯,顺便测一下性能

前排支持,mark

支持一下!

2024/11/15 版本更新:
1、修复了Dragger原生平台Bug,详情参考https://forum.cocos.org/t/topic/163100/6

2、优化了拖尾在原生平台的同步性

1赞

mark!

get大佬绝活

将来一定有用mark

已更新:修复Web平台不合批的Bug

大佬mark!!!

求助大佬,游戏暂停的时候,怎么让拖尾也暂停呢?

已搞定 增加是否暂停变量,在外部控制,就可以实现拖尾暂停与恢复
//实时运算的顶点数据内容

private onFlushed() {

    if (!this._spriteFrame) return;

    if (!this.bPause) {

        this.updateXY();

    }

    this._renderData.updateRenderData(this, this._spriteFrame);

    if (JSB) {

        this.markForUpdateRenderData();

    }

}

我也刚上传了新版,一样的方法,代码精简了一下

多谢大佬,回头去git上面拉取一下最新版