X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavecraft%2Fmisc%2FInputHandlerGame.java;h=b8460e018de1eab888bf21fe902043ba853c0c4b;hb=22eccb137bf9642700f762dd39cf02ea144bdca3;hp=0d0cb5639e934f7f8533815036b2730999ba1d41;hpb=99a56427db13dd0ecd025e433a438b77245cb739;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavecraft/misc/InputHandlerGame.java b/core/src/ru/deadsoftware/cavecraft/misc/InputHandlerGame.java index 0d0cb56..b8460e0 100644 --- a/core/src/ru/deadsoftware/cavecraft/misc/InputHandlerGame.java +++ b/core/src/ru/deadsoftware/cavecraft/misc/InputHandlerGame.java @@ -4,23 +4,17 @@ import com.badlogic.gdx.Input; import com.badlogic.gdx.InputProcessor; import ru.deadsoftware.cavecraft.CaveGame; import ru.deadsoftware.cavecraft.game.GameInput; -import ru.deadsoftware.cavecraft.game.GameProc; import static ru.deadsoftware.cavecraft.GameScreen.getHeight; import static ru.deadsoftware.cavecraft.GameScreen.getWidth; +import static ru.deadsoftware.cavecraft.GameScreen.GP; public class InputHandlerGame implements InputProcessor { - private GameProc gp; private GameInput gameInput; - private float tWidth, tHeight; - - public InputHandlerGame(GameProc gp) { - this.gp = gp; - this.gameInput = new GameInput(gp); - tWidth = gp.renderer.getWidth(); - tHeight = gp.renderer.getHeight(); + public InputHandlerGame() { + this.gameInput = new GameInput(); } @Override @@ -42,27 +36,27 @@ public class InputHandlerGame implements InputProcessor { @Override public boolean touchDown(int screenX, int screenY, int pointer, int button) { - int tx = (int) (screenX * tWidth / getWidth()); - int ty = (int) (screenY * tHeight / getHeight()); - screenX *= gp.renderer.getWidth() / getWidth(); - screenY *= gp.renderer.getHeight() / getHeight(); + screenX *= GP.renderer.getWidth() / getWidth(); + screenY *= GP.renderer.getHeight() / getHeight(); if (CaveGame.TOUCH) { - if (tx > 26 && tx < 52 && ty > tHeight - 52 && ty < tHeight - 26) { - if (gp.ctrlMode == 1) gameInput.keyDown(Input.Keys.W); + if (screenX > 26 && screenX < 52 && screenY > GP.renderer.getHeight() - 52 && + screenY < GP.renderer.getHeight() - 26) { + if (GP.ctrlMode == 1) gameInput.keyDown(Input.Keys.W); else gameInput.keyDown(Input.Keys.SPACE); - } else if (tx > 0 && tx < 26 && ty > tHeight - 26) { + } else if (screenX > 0 && screenX < 26 && screenY > GP.renderer.getHeight() - 26) { gameInput.keyDown(Input.Keys.A); - } else if (tx > 26 && tx < 52 && ty > tHeight - 26) { - if (gp.ctrlMode == 1) gameInput.keyDown(Input.Keys.S); + } else if (screenX > 26 && screenX < 52 && screenY > GP.renderer.getHeight() - 26) { + if (GP.ctrlMode == 1) gameInput.keyDown(Input.Keys.S); else gameInput.keyDown(Input.Keys.CONTROL_LEFT); - } else if (tx > 52 && tx < 78 && ty > tHeight - 26) { + } else if (screenX > 52 && screenX < 78 && screenY > GP.renderer.getHeight() - 26) { gameInput.keyDown(Input.Keys.D); - } else if (tx > 78 && tx < 104 && ty > tHeight - 26) { + } else if (screenX > 78 && screenX < 104 && screenY > GP.renderer.getHeight() - 26) { gameInput.keyDown(Input.Keys.ALT_LEFT); - } else if (tx > tWidth - 52 && tx < tWidth - 26 && ty > tHeight - 26) { + } else if (screenX > GP.renderer.getWidth() - 52 && screenX < GP.renderer.getWidth() - 26 && + screenY > GP.renderer.getHeight() - 26) { gameInput.touchDown(screenX, screenY, Input.Buttons.LEFT); - } else if (tx > tWidth - 26 && screenY > ty - 26) { + } else if (screenX > GP.renderer.getWidth() - 26 && screenY > screenY - 26) { gameInput.touchDown(screenX, screenY, Input.Buttons.RIGHT); } else { gameInput.touchDown(screenX, screenY, -1); @@ -75,26 +69,26 @@ public class InputHandlerGame implements InputProcessor { @Override public boolean touchUp(int screenX, int screenY, int pointer, int button) { - int tx = (int) (screenX * tWidth / getWidth()); - int ty = (int) (screenY * tHeight / getHeight()); - screenX *= gp.renderer.getWidth() / getWidth(); - screenY *= gp.renderer.getHeight() / getHeight(); + screenX *= GP.renderer.getWidth() / getWidth(); + screenY *= GP.renderer.getHeight() / getHeight(); if (CaveGame.TOUCH) { - if (tx > 26 && tx < 52 && ty > tHeight - 52 && ty < tHeight - 26) { - if (gp.ctrlMode == 1) gameInput.keyUp(Input.Keys.W); + if (screenX > 26 && screenX < 52 && screenY > GP.renderer.getHeight() - 52 && + screenY < GP.renderer.getHeight() - 26) { + if (GP.ctrlMode == 1) gameInput.keyUp(Input.Keys.W); else gameInput.keyUp(Input.Keys.SPACE); - } else if (tx > 0 && tx < 26 && ty > tHeight - 26) { + } else if (screenX > 0 && screenX < 26 && screenY > GP.renderer.getHeight() - 26) { gameInput.keyUp(Input.Keys.A); - } else if (tx > 26 && tx < 52 && ty > tHeight - 26) { - if (gp.ctrlMode == 1) gameInput.keyUp(Input.Keys.S); + } else if (screenX > 26 && screenX < 52 && screenY > GP.renderer.getHeight() - 26) { + if (GP.ctrlMode == 1) gameInput.keyUp(Input.Keys.S); else gameInput.keyUp(Input.Keys.CONTROL_LEFT); - } else if (tx > 52 && tx < 78 && ty > tHeight - 26) { + } else if (screenX > 52 && screenX < 78 && screenY > GP.renderer.getHeight() - 26) { gameInput.keyUp(Input.Keys.D); - } else if (tx > 78 && tx < 104 && ty > tHeight - 26) { + } else if (screenX > 78 && screenX < 104 && screenY > GP.renderer.getHeight() - 26) { gameInput.keyUp(Input.Keys.ALT_LEFT); - } else if (tx > tWidth - 52 && tx < tWidth - 26 && ty > tHeight - 26) { + } else if (screenX > GP.renderer.getWidth() - 52 && screenX < GP.renderer.getWidth() - 26 && + screenY > GP.renderer.getHeight() - 26) { gameInput.touchUp(screenX, screenY, Input.Buttons.LEFT); - } else if (tx > tWidth - 26 && screenY > ty - 26) { + } else if (screenX > GP.renderer.getWidth() - 26 && screenY > screenY - 26) { gameInput.touchUp(screenX, screenY, Input.Buttons.RIGHT); } else { gameInput.touchUp(screenX, screenY, -1); @@ -107,10 +101,10 @@ public class InputHandlerGame implements InputProcessor { @Override public boolean touchDragged(int screenX, int screenY, int pointer) { - screenX *= gp.renderer.getWidth() / getWidth(); - screenY *= gp.renderer.getHeight() / getHeight(); - if (gp.isKeyDown && (screenX > 78 || screenY < gp.renderer.getHeight() - 52)) { - gameInput.keyUp(gp.keyDownCode); + screenX *= GP.renderer.getWidth() / getWidth(); + screenY *= GP.renderer.getHeight() / getHeight(); + if (GP.isKeyDown && (screenX > 78 || screenY < GP.renderer.getHeight() - 52)) { + gameInput.keyUp(GP.keyDownCode); } else { gameInput.touchDragged(screenX, screenY); } @@ -127,4 +121,4 @@ public class InputHandlerGame implements InputProcessor { gameInput.scrolled(amount); return false; } -} \ No newline at end of file +}