瀏覽代碼

Fixes completion event firing for 0 duration animations. See #1112.

badlogic 7 年之前
父節點
當前提交
99ca67ca77
共有 1 個文件被更改,包括 6 次插入4 次删除
  1. 6 4
      spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java

+ 6 - 4
spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java

@@ -386,10 +386,12 @@ public class AnimationState {
 		}
 
 		// Queue complete if completed a loop iteration or the animation.
-		if (entry.loop ? (trackLastWrapped > entry.trackTime % duration)
-			: (animationTime >= animationEnd && entry.animationLast < animationEnd)) {
-			queue.complete(entry);
-		}
+		boolean complete;
+		if (entry.loop)
+			complete = duration == 0 || trackLastWrapped > entry.trackTime % duration;
+		else
+			complete = animationTime >= animationEnd && entry.animationLast < animationEnd;
+		if (complete) queue.complete(entry);
 
 		// Queue events after complete.
 		for (; i < n; i++) {