From 80a0bc90abfad55545e011a8fb8b2f974d880474 Mon Sep 17 00:00:00 2001 From: badlogic Date: Thu, 9 Feb 2017 11:21:42 +0100 Subject: [PATCH] Fixed pan in SkeletonViewer --- .../esotericsoftware/spine/SkeletonViewer.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java index 9937a5ec5..40c6fda83 100644 --- a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java +++ b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java @@ -661,14 +661,24 @@ public class SkeletonViewer extends ApplicationAdapter { button.addListener(trackButtonListener); Gdx.input.setInputProcessor(new InputMultiplexer(stage, new InputAdapter() { + float offsetX; + float offsetY; + public boolean touchDown (int screenX, int screenY, int pointer, int button) { - touchDragged(screenX, screenY, pointer); + offsetX = screenX; + offsetY = Gdx.graphics.getHeight() - screenY; return false; } public boolean touchDragged (int screenX, int screenY, int pointer) { - skeletonX = screenX; - skeletonY = Gdx.graphics.getHeight() - screenY; + float deltaX = screenX - offsetX; + float deltaY = Gdx.graphics.getHeight() - screenY - offsetY; + + skeletonX += deltaX; + skeletonY += deltaY; + + offsetX = screenX; + offsetY = Gdx.graphics.getHeight() - screenY; return false; }