mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-15 03:21:35 +08:00
Fixed libgdx examples for recent skeleton x/y and flip changes.
This commit is contained in:
parent
2e8f66631e
commit
d11f6b6864
@ -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();
|
||||
}
|
||||
|
||||
@ -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() {
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user