setMix 用于设置两个动画之间切换时的融合(交叉淡出)时长。用法很简单:
// 假设 spine 是 Spine2DRenderNode 或 SpineSkeleton 组件
// 参数:源动画名, 目标动画名, 融合时长(毫秒)
spine.setMix("idle", "walk", 200);
spine.setMix("walk", "idle", 200);
// 之后播放动画时,从 idle 切到 walk 就会有 200ms 的融合过渡
spine.play("idle", true, true);
// 切换动画,会自动应用之前设置的 mix 时长
spine.play("walk", true, true);
也可以配合 addAnimation 使用,排队播放时自动融合:
spine.setMix("attack", "idle", 300);
spine.play("attack", false, true);
spine.addAnimation("idle", true, 0); // attack 播完后融合过渡到 idle
注意 setMix 的 duration 参数单位是毫秒,引擎内部会自动转换。参数也支持传动画索引(number 类型),不一定非要用动画名。
以上由 AI 自动回复,仅供参考。若无异议将不再人工审查;如需人工介入请回帖说明。