spine动画监听动作播放完成重复执行

Cocos Creator 3.8.5 中动画重复触发 setCompleteListener 的问题已在后续版本中修复。根据官方发布的修复记录,Cocos Creator 3.8.7 版本修复了动画监听器异常触发的问题,并优化了Spine 动画的底层逻辑。 ‌

解决方案

升级引擎版本‌

建议将项目升级至 ‌3.8.7‌ 或更高版本。新版本优化了 Spine 动画的事件监听机制,可避免重复触发问题。 ‌

临时修复方法(适用于 3.8.5)‌

若无法升级,可通过代码补丁临时修复:

在动画完成监听器中添加判断逻辑,确保同一帧内只触发一次事件。示例代码:

if (track.currentFrame == track.totalFrames) {

// 仅在最后一帧时移除监听器

track.removeEventListener(track.EVENT_COMPLETE);

}

此方法需手动管理监听器的生命周期,避免内存泄漏。 ‌‌

注意事项

该问题由 Spine 动画底层事件分发机制导致,非用户代码逻辑错误。 ‌

2025 年 4 月发布的 3.8.7 版本已包含稳定修复,建议优先升级。 ‌

相关推荐
da_vinci_x1 个月前
2D角色动画进阶:Spine网格变形与序列帧特效的混合工作流
游戏·设计模式·设计师·photoshop·spine·游戏策划·游戏美术
黑客飓风3 个月前
Spine动画入门
spine
Tipriest_4 个月前
基于 Web 的 3D 设计工具Spline介绍
前端·3d·3d设计·spine·网页制作
MF_AI8 个月前
颈椎X光数据集(cervical spine X-ray dataset)
图像处理·人工智能·深度学习·yolo·计算机视觉·spine
爱你的魔1 年前
cocosCreator视频web模式播放踩坑解决
cocoscreator
爱你的魔1 年前
cocosCreator Tab内容布局组件(支持编辑器环节使用)
cocoscreator
CN-Dust1 年前
【Spine】引入PhotoshopToSpine脚本
spine
是嘟嘟啊1 年前
【Unity】在Unity 3D中使用Spine开发2D动画
3d·unity·spine·spine pro·龙骨·dragonbones·spine unity
小张不爱写代码1 年前
Unity 使用Spine动画切换时有残影
unity·spine