由于需求原因,我需要拦截spine动画的update 来做暂停,倍速播放等等,
在web中我只需要:
export class SpineSkeleton extends sp.Skeleton {
updateMode: boolean;
update(dt: number) {
if (!this.updateMode) {
return;
}
super.update(dt);
}
tick(dt: number): void {
if (this.updateMode) {
cc.warn("警告:动画更新模式冲突!");
return;
}
super.update(dt);
}
}
这样,我可以有选择性的进行更新。
但是发布到安卓上动画就不听使唤了,我看了一下底层的Skeleton.cpp 中的update 只是记录了一下时间,所以我需要如何才能在原生平台做到以上WEB 中的效果。
我查看了SkeletonRenderer.cpp 和SkeletonAnimation.cpp 中有动画帧更新计算,但是我没找到在什么地方调用的这些方法