diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRendererDebug.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRendererDebug.java index e1e5bffed..ed3976d65 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRendererDebug.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRendererDebug.java @@ -23,6 +23,9 @@ public class SkeletonRendererDebug { } public void draw (Skeleton skeleton) { + float skeletonX = skeleton.getX(); + float skeletonY = skeleton.getY(); + Gdx.gl.glEnable(GL10.GL_BLEND); renderer.begin(ShapeType.Line); @@ -31,9 +34,9 @@ public class SkeletonRendererDebug { for (int i = 0, n = bones.size; i < n; i++) { Bone bone = bones.get(i); if (bone.parent == null) continue; - float x = bone.data.length * bone.m00 + bone.worldX; - float y = bone.data.length * bone.m10 + bone.worldY; - renderer.line(bone.worldX, bone.worldY, x, y); + float x = skeletonX + bone.data.length * bone.m00 + bone.worldX; + float y = skeletonY + bone.data.length * bone.m10 + bone.worldY; + renderer.line(skeletonX + bone.worldX, skeletonY + bone.worldY, x, y); } renderer.setColor(slotLineColor); @@ -59,7 +62,7 @@ public class SkeletonRendererDebug { for (int i = 0, n = bones.size; i < n; i++) { Bone bone = bones.get(i); renderer.setColor(Color.GREEN); - renderer.circle(bone.worldX, bone.worldY, 3); + renderer.circle(skeletonX + bone.worldX, skeletonY + bone.worldY, 3); } renderer.end(); } diff --git a/spine-libgdx/test/com/esotericsoftware/spine/AnimationStateTest.java b/spine-libgdx/test/com/esotericsoftware/spine/AnimationStateTest.java index 2e39ecb19..c13f34752 100644 --- a/spine-libgdx/test/com/esotericsoftware/spine/AnimationStateTest.java +++ b/spine-libgdx/test/com/esotericsoftware/spine/AnimationStateTest.java @@ -40,7 +40,6 @@ public class AnimationStateTest extends ApplicationAdapter { TextureAtlas atlas; Skeleton skeleton; - Bone root; AnimationState state; public void create () { @@ -62,11 +61,8 @@ public class AnimationStateTest extends ApplicationAdapter { state.setAnimation("walk", true); skeleton = new Skeleton(skeletonData); - - root = skeleton.getRootBone(); - root.setX(250); - root.setY(20); - + skeleton.setX(250); + skeleton.setY(20); skeleton.updateWorldTransform(); Gdx.input.setInputProcessor(new InputAdapter() { diff --git a/spine-libgdx/test/com/esotericsoftware/spine/MixTest.java b/spine-libgdx/test/com/esotericsoftware/spine/MixTest.java index aa75cf803..af68cbb58 100644 --- a/spine-libgdx/test/com/esotericsoftware/spine/MixTest.java +++ b/spine-libgdx/test/com/esotericsoftware/spine/MixTest.java @@ -65,14 +65,9 @@ public class MixTest extends ApplicationAdapter { jumpAnimation = skeletonData.findAnimation("jump"); skeleton = new Skeleton(skeletonData); - skeleton.setToSetupPose(); - - final Bone root = skeleton.getRootBone(); - root.x = -50; - root.y = 20; - root.scaleX = 1f; - root.scaleY = 1f; skeleton.updateWorldTransform(); + skeleton.setX(-50); + skeleton.setY(20); } public void render () { @@ -87,10 +82,9 @@ public class MixTest extends ApplicationAdapter { time += delta; - Bone root = skeleton.getRootBone(); float speed = 180; if (time > beforeJump + blendIn && time < blendOutStart) speed = 360; - root.setX(root.getX() + speed * delta); + skeleton.setX(skeleton.getX() + speed * delta); Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); @@ -98,7 +92,7 @@ public class MixTest extends ApplicationAdapter { if (time > total) { // restart time = 0; - root.setX(-50); + skeleton.setX(-50); } else if (time > beforeJump + jump) { // just walk after jump walkAnimation.apply(skeleton, time, true); diff --git a/spine-libgdx/test/com/esotericsoftware/spine/SkeletonTest.java b/spine-libgdx/test/com/esotericsoftware/spine/SkeletonTest.java index d132e0d30..6de073b34 100644 --- a/spine-libgdx/test/com/esotericsoftware/spine/SkeletonTest.java +++ b/spine-libgdx/test/com/esotericsoftware/spine/SkeletonTest.java @@ -87,12 +87,6 @@ public class SkeletonTest extends ApplicationAdapter { if (name.equals("goblins")) skeleton.setSkin("goblin"); skeleton.setToSetupPose(); skeleton = new Skeleton(skeleton); - - Bone root = skeleton.getRootBone(); - root.x = 50; - root.y = 20; - root.scaleX = 1f; - root.scaleY = 1f; skeleton.updateWorldTransform(); Gdx.input.setInputProcessor(new InputAdapter() { @@ -114,15 +108,14 @@ public class SkeletonTest extends ApplicationAdapter { public void render () { time += Gdx.graphics.getDeltaTime(); - Bone root = skeleton.getRootBone(); - float x = root.getX() + 160 * Gdx.graphics.getDeltaTime() * (skeleton.getFlipX() ? -1 : 1); + float x = skeleton.getX() + 160 * Gdx.graphics.getDeltaTime() * (skeleton.getFlipX() ? -1 : 1); if (x > Gdx.graphics.getWidth()) skeleton.setFlipX(true); if (x < 0) skeleton.setFlipX(false); - root.setX(x); + skeleton.setX(x); Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); - animation.apply(skeleton, time, false); + animation.apply(skeleton, time, true); skeleton.updateWorldTransform(); skeleton.update(Gdx.graphics.getDeltaTime());