diff --git a/spine-as3/spine-as3-example/lib/spine-as3.swc b/spine-as3/spine-as3-example/lib/spine-as3.swc index 41e9a6a8d..0b5371182 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/Bone.as b/spine-as3/spine-as3/src/spine/Bone.as index efc5dd5d8..2e82c17d8 100644 --- a/spine-as3/spine-as3/src/spine/Bone.as +++ b/spine-as3/spine-as3/src/spine/Bone.as @@ -150,34 +150,28 @@ public class Bone implements Updatable { break; } case TransformMode.noRotationOrReflection: { - var psx:Number = Math.sqrt(pa * pa + pc * pc); - var psy:Number = 0; + s = pa * pa + pc * pc; var prx:Number = 0; - if (psx > 0.0001) { - psy = Math.abs((pa * pd - pb * pc) / psx); + if (s > 0.0001) { + s = Math.abs(pa * pd - pb * pc) / s; + pb = pc * s; + pd = pa * s; prx = Math.atan2(pc, pa) * MathUtils.radDeg; } else { - psx = 0; - psy = Math.sqrt(pb * pb + pd * pd); + pa = 0; + pc = 0; prx = 90 - Math.atan2(pd, pb) * MathUtils.radDeg; } - cos = MathUtils.cosDeg(prx); - sin = MathUtils.sinDeg(prx); - pa = cos * psx; - pb = -sin * psy; - pc = sin * psx; - pd = cos * psy; var rx:Number = rotation + shearX - prx; var ry:Number = rotation + shearY - prx + 90; la = MathUtils.cosDeg(rx) * scaleX; lb = MathUtils.cosDeg(ry) * scaleY; lc = MathUtils.sinDeg(rx) * scaleX; ld = MathUtils.sinDeg(ry) * scaleY; - _a = pa * la + pb * lc; - _b = pa * lb + pb * ld; + _a = pa * la - pb * lc; + _b = pa * lb - pb * ld; _c = pc * la + pd * lc; _d = pc * lb + pd * ld; - break; } case TransformMode.noScale: diff --git a/spine-starling/spine-starling-example/lib/spine-as3.swc b/spine-starling/spine-starling-example/lib/spine-as3.swc index 236981ac5..0b5371182 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 236981ac5..0b5371182 100644 Binary files a/spine-starling/spine-starling/lib/spine-as3.swc and b/spine-starling/spine-starling/lib/spine-as3.swc differ