diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java index a358e47e5..18036a2fc 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java @@ -562,8 +562,10 @@ public class Animation { break; case first: case replace: - bone.scaleX += (x - bone.scaleX * Math.signum(x)) * alpha; - bone.scaleY += (y - bone.scaleY * Math.signum(y)) * alpha; + bx = Math.abs(bone.scaleX) * Math.signum(x); + by = Math.abs(bone.scaleY) * Math.signum(y); + bone.scaleX = bx + (x - bx) * alpha; + bone.scaleY = by + (y - by) * alpha; break; case add: bx = Math.signum(x);