diff --git a/core/src/ru/deadsoftware/cavecraft/game/GameInputHandler.java b/core/src/ru/deadsoftware/cavecraft/game/GameInputHandler.java
index 313675d414b6788dfa8b1ca935677f87dd0cbd87..aec59d21387608383401b3182e42c75e79588fe9 100644 (file)
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) {