diff --git a/spine-as3/spine-as3-example/lib/spine-as3.swc b/spine-as3/spine-as3-example/lib/spine-as3.swc index e6dfeb006..3c10c4c8c 100644 Binary files a/spine-as3/spine-as3-example/lib/spine-as3.swc and b/spine-as3/spine-as3-example/lib/spine-as3.swc differ diff --git a/spine-as3/spine-as3/src/spine/animation/AnimationState.as b/spine-as3/spine-as3/src/spine/animation/AnimationState.as index de675c05b..0a0f444c0 100644 --- a/spine-as3/spine-as3/src/spine/animation/AnimationState.as +++ b/spine-as3/spine-as3/src/spine/animation/AnimationState.as @@ -131,9 +131,13 @@ package spine.animation { // Require mixTime > 0 to ensure the mixing from entry was applied at least once. if (entry.mixTime > 0 && (entry.mixTime >= entry.mixDuration || entry.timeScale == 0)) { - if (animationCount > 6 && from.mixingFrom == null) { // Limit the mixing from linked list. - entry.mixingFrom = null; - queue.end(from); + if (animationCount > 5 && from.mixingFrom == null) { + // Limit linked list by speeding up and removing old entries. + entry.interruptAlpha = Math.max(0, entry.interruptAlpha - delta * 0.66); + if (entry.interruptAlpha <= 0) { + entry.mixingFrom = null; + queue.end(from); + } } return finished; } diff --git a/spine-starling/spine-starling-example/lib/spine-as3.swc b/spine-starling/spine-starling-example/lib/spine-as3.swc index e6dfeb006..3c10c4c8c 100644 Binary files a/spine-starling/spine-starling-example/lib/spine-as3.swc and b/spine-starling/spine-starling-example/lib/spine-as3.swc differ diff --git a/spine-starling/spine-starling/lib/spine-as3.swc b/spine-starling/spine-starling/lib/spine-as3.swc index e6dfeb006..3c10c4c8c 100644 Binary files a/spine-starling/spine-starling/lib/spine-as3.swc and b/spine-starling/spine-starling/lib/spine-as3.swc differ