spine动画在原生上使用多轨道播放时,分别对多个轨道setTrackCompleteListener,只有一个监听有效,(小游戏平台是都能收到监听),这个是bug吗?
- Creator 版本: 2.4.4
- 目标平台: iOS / Android
- 重现方式:多轨道播放spine动画,分别对多个轨道setTrackCompleteListener,只有1个轨道能收到监听
- 之前哪个版本是正常的:小游戏版本正常
- 重现概率:100%
spine动画在原生上使用多轨道播放时,分别对多个轨道setTrackCompleteListener,只有一个监听有效,(小游戏平台是都能收到监听),这个是bug吗?
方便贴下测试代码?
不好意思,最近一直忙项目上线的事情,没时间定位问题代码,刚刚整理了下,发现主要是spine的setTrackCompleteListener 方法在web和原生上的执行结果不一致所致,测试代码如下:
let entry1: sp.spine.TrackEntry = this.spine.setAnimation(1, "qian1",false);
this.spine.setTrackCompleteListener(entry1, (entry, loopCount) => {
console.log("onTrackComplete1");
});
let entry2: sp.spine.TrackEntry = this.spine.setAnimation(2, "qian2",false);
this.spine.setTrackCompleteListener(entry2, (entry, loopCount) => {
console.log("onTrackComplete2");
});
在web上运行 会打印:
onTrackComplete1
onTrackComplete2
而在原生(ios或者android)上会打印:
onTrackComplete2
onTrackComplete2
嗯,原生上是两个合在一起了,后面打印下 entry.animation.name 可以看到两个打印是不同的,对应了两个不同的轨道;
具体已经反馈给相关人员了,感谢反馈!
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。