diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PhysicsConstraint.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PhysicsConstraint.java index f8bbd675f..f14863515 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PhysicsConstraint.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PhysicsConstraint.java @@ -172,11 +172,15 @@ public class PhysicsConstraint implements Updatable { r = rotateOffset * mix + ca; c = cos(r); s = sin(r); - if (scaleX) scaleOffset += (dx * c + dy * s) * i / (l * bone.getWorldScaleX()); + if (scaleX) { + r = l * bone.getWorldScaleX(); + if (r > 0) scaleOffset += (dx * c + dy * s) * i / r; + } } else { c = cos(ca); s = sin(ca); - scaleOffset += ((cx - bone.worldX) * c + (cy - bone.worldY) * s) * i / (l * bone.getWorldScaleX()); + float r = l * bone.getWorldScaleX(); + if (r > 0) scaleOffset += ((cx - bone.worldX) * c + (cy - bone.worldY) * s) * i / r; } remaining = this.remaining; if (remaining >= step) {