Fixed disabling scale/rotation.

closes #525
This commit is contained in:
NathanSweet 2016-02-22 10:18:16 +01:00
parent 18e0dc35b1
commit d93e1507fc
4 changed files with 16 additions and 4 deletions

View File

@ -124,7 +124,7 @@ public class Bone implements Updatable {
pb = 0;
pc = 0;
pd = 1;
while (parent != null) {
do {
radians = parent.appliedRotation * MathUtils.degRad;
cos = Math.cos(radians);
sin = Math.sin(radians);
@ -134,8 +134,10 @@ public class Bone implements Updatable {
temp1 = pc * cos + pd * sin;
pd = pc * -sin + pd * cos;
pc = temp1;
if (!parent.data.inheritRotation) break;
parent = parent.parent;
}
} while (parent != null);
_a = pa * la + pb * lc;
_b = pa * lb + pb * ld;
_c = pc * la + pd * lc;
@ -153,7 +155,7 @@ public class Bone implements Updatable {
pb = 0;
pc = 0;
pd = 1;
while (parent) {
do {
radians = parent.rotation * MathUtils.degRad;
cos = Math.cos(radians);
sin = Math.sin(radians);
@ -176,8 +178,9 @@ public class Bone implements Updatable {
pd = pc * -sin + pd * cos;
pc = temp2;
if (!parent.data.inheritScale) break;
parent = parent.parent;
}
} while (parent != null);
_a = pa * la + pb * lc;
_b = pa * lb + pb * ld;
_c = pc * la + pd * lc;

View File

@ -122,6 +122,8 @@ void spBone_updateWorldTransformWith (spBone* self, float x, float y, float rota
temp = pc * cosine + pd * sine;
pd = pc * -sine + pd * cosine;
pc = temp;
if (!parent->data->inheritRotation) break;
parent = parent->parent;
} while (parent);
CONST_CAST(float, self->a) = pa * la + pb * lc;
@ -168,6 +170,7 @@ void spBone_updateWorldTransformWith (spBone* self, float x, float y, float rota
pd = pc * -sine + pd * cosine;
pc = temp;
if (!parent->data->inheritScale) break;
parent = parent->parent;
} while (parent);
CONST_CAST(float, self->a) = pa * la + pb * lc;

View File

@ -153,6 +153,8 @@ namespace Spine {
temp = pc * cos + pd * sin;
pd = pc * -sin + pd * cos;
pc = temp;
if (!parent.data.inheritRotation) break;
parent = parent.parent;
} while (parent != null);
a = pa * la + pb * lc;
@ -195,6 +197,7 @@ namespace Spine {
pd = pc * -sin + pd * cos;
pc = temp;
if (!parent.data.inheritScale) break;
parent = parent.parent;
} while (parent != null);
a = pa * la + pb * lc;

View File

@ -145,6 +145,8 @@ public class Bone implements Updatable {
temp = pc * cos + pd * sin;
pd = pc * -sin + pd * cos;
pc = temp;
if (!parent.data.inheritRotation) break;
parent = parent.parent;
} while (parent != null);
a = pa * la + pb * lc;
@ -187,6 +189,7 @@ public class Bone implements Updatable {
pd = pc * -sin + pd * cos;
pc = temp;
if (!parent.data.inheritScale) break;
parent = parent.parent;
} while (parent != null);
a = pa * la + pb * lc;