[csharp] Fix applying flipping for noScale/noScaleOrReflection transform mode. See #951

This commit is contained in:
badlogic 2017-07-19 13:57:20 +02:00
parent 8f6725db33
commit 20cdb9ec99

View File

@ -246,14 +246,14 @@ namespace Spine {
float lb = MathUtils.CosDeg(90 + shearY) * scaleY;
float lc = MathUtils.SinDeg(shearX) * scaleX;
float ld = MathUtils.SinDeg(90 + shearY) * scaleY;
if (data.transformMode != TransformMode.NoScaleOrReflection? pa * pd - pb* pc< 0 : skeleton.flipX != skeleton.flipY) {
zb = -zb;
zd = -zd;
}
a = za * la + zb * lc;
b = za * lb + zb * ld;
c = zc * la + zd * lc;
d = zc * lb + zd * ld;
if (data.transformMode != TransformMode.NoScaleOrReflection ? pa * pd - pb * pc < 0 : skeleton.flipX != skeleton.flipY) {
b = -b;
d = -d;
}
d = zc * lb + zd * ld;
return;
}
}