Browse Source

Fixed libgdx examples for recent skeleton x/y and flip changes.

NathanSweet 12 years ago
parent
commit
d11f6b6864

+ 7 - 4
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();
 	}

+ 2 - 6
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() {

+ 4 - 10
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);

+ 3 - 10
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());