浏览代码

Fixed interrupting a mix with a new entry that has 0 mixDuration.

closes #970
Nathan Sweet 8 年之前
父节点
当前提交
c8d595565b
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java

+ 2 - 1
spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java

@@ -144,7 +144,8 @@ public class AnimationState {
 
 		// Require mixTime > 0 to ensure the mixing from entry was applied at least once.
 		if (to.mixTime > 0 && (to.mixTime >= to.mixDuration || to.timeScale == 0)) {
-			if (from.totalAlpha == 0) {
+			// Require totalAlpha == 0 to ensure mixing is complete, unless mixDuration == 0 (the transition is a single frame).
+			if (from.totalAlpha == 0 || to.mixDuration == 0) {
 				to.mixingFrom = from.mixingFrom;
 				to.interruptAlpha = from.interruptAlpha;
 				queue.end(from);