gdx: add keys for scale and tilt
This commit is contained in:
@@ -25,7 +25,7 @@ public class InputHandler implements InputProcessor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean mActiveScale;
|
private boolean mActiveScale;
|
||||||
//private boolean mActiveTilt;
|
private boolean mActiveTilt;
|
||||||
private boolean mActiveRotate;
|
private boolean mActiveRotate;
|
||||||
|
|
||||||
private int mPosX, mPosY;
|
private int mPosX, mPosY;
|
||||||
@@ -40,6 +40,17 @@ public class InputHandler implements InputProcessor {
|
|||||||
Gdx.app.exit();
|
Gdx.app.exit();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Input.Keys.SHIFT_LEFT:
|
||||||
|
mActiveScale = true;
|
||||||
|
mPosY = Gdx.input.getY();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Input.Keys.CONTROL_LEFT:
|
||||||
|
mActiveTilt = true;
|
||||||
|
mPosX = Gdx.input.getX();
|
||||||
|
mPosY = Gdx.input.getY();
|
||||||
|
break;
|
||||||
|
|
||||||
case Input.Keys.UP:
|
case Input.Keys.UP:
|
||||||
mViewport.moveMap(0, -50);
|
mViewport.moveMap(0, -50);
|
||||||
mMap.updateMap(true);
|
mMap.updateMap(true);
|
||||||
@@ -108,6 +119,16 @@ public class InputHandler implements InputProcessor {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyUp(int keycode) {
|
public boolean keyUp(int keycode) {
|
||||||
|
switch (keycode) {
|
||||||
|
case Input.Keys.SHIFT_LEFT:
|
||||||
|
mActiveScale = false;
|
||||||
|
break;
|
||||||
|
case Input.Keys.CONTROL_LEFT:
|
||||||
|
mActiveTilt = false;
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,11 +163,16 @@ public class InputHandler implements InputProcessor {
|
|||||||
public boolean touchDragged(int screenX, int screenY, int pointer) {
|
public boolean touchDragged(int screenX, int screenY, int pointer) {
|
||||||
boolean changed = false;
|
boolean changed = false;
|
||||||
|
|
||||||
if (!(mActiveScale || mActiveRotate))
|
if (!(mActiveScale || mActiveRotate || mActiveTilt))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (mActiveTilt) {
|
||||||
|
changed = mViewport.tiltMap((screenY - mPosY) / 5f);
|
||||||
|
mPosY = screenY;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if (mActiveScale) {
|
if (mActiveScale) {
|
||||||
// changed = mMapPosition.tilt((screenY - mStartY) / 5f);
|
|
||||||
changed = mViewport.scaleMap(1 - (screenY - mPosY) / 100f, 0, 0);
|
changed = mViewport.scaleMap(1 - (screenY - mPosY) / 100f, 0, 0);
|
||||||
mPosY = screenY;
|
mPosY = screenY;
|
||||||
}
|
}
|
||||||
@@ -167,6 +193,7 @@ public class InputHandler implements InputProcessor {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseMoved(int screenX, int screenY) {
|
public boolean mouseMoved(int screenX, int screenY) {
|
||||||
|
|
||||||
mPosX = screenX;
|
mPosX = screenX;
|
||||||
mPosY = screenY;
|
mPosY = screenY;
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user