diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameInput.java b/core/src/ru/deadsoftware/cavedroid/game/GameInput.java
index 3da4e2e10c44b28e88bfb0236878acab48c15de6..29c8188d9d6c44f07946a8f464913a01fab1e0ea 100644 (file)
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
+import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.utils.TimeUtils;
import com.google.common.collect.Range;
import ru.deadsoftware.cavedroid.MainConfig;
if (checkSwim()) {
mPlayer.swim = true;
} else if (mPlayer.canJump()) {
- mPlayer.getVelocity().add(0, -180);
+ mPlayer.getVelocity().add(0, GamePhysics.PL_JUMP_VELOCITY);
} else if (!mPlayer.isFlyMode() && mPlayer.gameMode == 1) {
mPlayer.setFlyMode(true);
mPlayer.getVelocity().y = 0;
Gdx.graphics.getWidth()) + gameRenderer.getCamX());
mCurX = tmpX / 16;
- mCurY = (int) (Gdx.input.getY() * (mMainConfig.getHeight() /
- Gdx.graphics.getHeight()) + gameRenderer.getCamY()) / 16;
+ final int tmpY = (int) (Gdx.input.getY() * (mMainConfig.getHeight() /
+ Gdx.graphics.getHeight()) + gameRenderer.getCamY());
+ mCurY = tmpY / 16;
+
if (tmpX < 0) {
mCurX--;
}
+
+ final double a = tmpX - mPlayer.x;
+ final double b = tmpY - mPlayer.y;
+
+ mPlayer.headRotation = (float) Math.atan(b / a) * MathUtils.radDeg;
}
if (pastX != mCurX || pastY != mCurY) {
}
public void touchDragged(float screenX, float screenY) {
+ if (Math.abs(screenX - mTouchDownX) < 16 && Math.abs(screenY - mTouchDownY) < 16) {
+ return;
+ }
+
mDragging = true;
if (mMainConfig.checkGameUiWindow(GameUiWindow.CREATIVE_INVENTORY) && Math.abs(screenY - mTouchDownY) > 16) {
if (insideCreativeInv(screenX, screenY)) {