|
@@ -183,6 +183,9 @@ Bone::updateWorldTransform(float x, float y, float rotation, float scaleX, float
|
|
za *= s;
|
|
za *= s;
|
|
zc *= s;
|
|
zc *= s;
|
|
s = MathUtil::sqrt(za * za + zc * zc);
|
|
s = MathUtil::sqrt(za * za + zc * zc);
|
|
|
|
+ if (_data.getTransformMode() == TransformMode_NoScale
|
|
|
|
+ && (pa * pd - pb * pc < 0) != (_skeleton.getScaleX() < 0 != _skeleton.getScaleY() < 0))
|
|
|
|
+ s = -s;
|
|
r = MathUtil::Pi / 2 + MathUtil::atan2(zc, za);
|
|
r = MathUtil::Pi / 2 + MathUtil::atan2(zc, za);
|
|
zb = MathUtil::cos(r) * s;
|
|
zb = MathUtil::cos(r) * s;
|
|
zd = MathUtil::sin(r) * s;
|
|
zd = MathUtil::sin(r) * s;
|