X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavecraft%2Fgame%2FGameInputHandler.java;h=aec59d21387608383401b3182e42c75e79588fe9;hb=50082e8304a80c41dd8b1c1d80142e7c91a2d924;hp=313675d414b6788dfa8b1ca935677f87dd0cbd87;hpb=083e40ac85e4aca2df81d1ca16c0a54561c3bd38;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavecraft/game/GameInputHandler.java b/core/src/ru/deadsoftware/cavecraft/game/GameInputHandler.java index 313675d..aec59d2 100644 --- a/core/src/ru/deadsoftware/cavecraft/game/GameInputHandler.java +++ b/core/src/ru/deadsoftware/cavecraft/game/GameInputHandler.java @@ -49,14 +49,31 @@ public class GameInputHandler { gameProc.cursorY = (int)(gameProc.player.position.y/16); if (gameProc.ctrlMode > 1) gameProc.ctrlMode = 0; } - if (keyCode == Input.Keys.SPACE && - gameProc.player.canJump) gameProc.player.moveY.add(0, -8); + if (keyCode == Input.Keys.SPACE) { + if (gameProc.player.canJump) { + gameProc.player.moveY.add(0, -8); + } else if (!gameProc.player.flyMode) { + gameProc.player.flyMode = true; + gameProc.player.moveY.setZero(); + } else { + gameProc.player.moveY.y = -GamePhysics.PL_SPEED; + } + } + if (keyCode == Input.Keys.CONTROL_LEFT) { + gameProc.player.moveY.y = GamePhysics.PL_SPEED; + } } public void keyUp(int keyCode) { if (keyCode == Input.Keys.A || keyCode == Input.Keys.D) { gameProc.player.moveX.x = 0; } + if (keyCode == Input.Keys.SPACE) { + if (gameProc.player.flyMode) gameProc.player.moveY.setZero(); + } + if (keyCode == Input.Keys.CONTROL_LEFT) { + if (gameProc.player.flyMode) gameProc.player.moveY.setZero(); + } } public void mouseMoved(int screenX, int screenY) {