X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2FGamePhysics.java;h=7e12e53d375160d5285427b7985116c174190f5d;hb=ef32f2e88b9c0daa411d0c304ce62b1235541fb1;hp=fb0d6ed911e155e1d65d23186164d01e42640cc4;hpb=0a855ca3c1d0c84de41a928cc99fd8544a933015;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/GamePhysics.java b/core/src/ru/deadsoftware/cavedroid/game/GamePhysics.java index fb0d6ed..7e12e53 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/GamePhysics.java +++ b/core/src/ru/deadsoftware/cavedroid/game/GamePhysics.java @@ -17,7 +17,7 @@ class GamePhysics { static final int PL_SPEED = 2; - private Vector2 gravity = new Vector2(0, .9f);; + private final Vector2 gravity = new Vector2(0, .9f); private boolean checkJump(Rectangle rect, int dir) { int bl; @@ -106,7 +106,7 @@ class GamePhysics { while (checkColl(mob.getRect())) mob.pos.y += d; mob.mov.y = 0; if (mob.getType() > 0) { - GP.world.setForeMap(mob.getMapX(), mob.getMapY(), mob.getType()); + GP.world.setForeMap(mob.getMapX(), mob.getMiddleMapY(), mob.getType()); mob.kill(); } } else { @@ -135,10 +135,10 @@ class GamePhysics { if (!pl.flyMode && pl.mov.y < 18) pl.mov.add(gravity); } - pl.pos.x += pl.mov.x; + pl.pos.x += pl.mov.x * (pl.flyMode ? 1.5f : 1) * (GameItems.isFluid(getBlock(pl.getRect())) && !pl.flyMode ? .8f : 1); mobXColl(pl); - if (CaveGame.TOUCH && checkJump(pl.getRect(), pl.getDir()) && !pl.flyMode && pl.canJump && pl.mov.x != 0) { + if (CaveGame.TOUCH && checkJump(pl.getRect(), pl.getDirection()) && !pl.flyMode && pl.canJump && pl.mov.x != 0) { pl.mov.add(0, -8); pl.canJump = false; } @@ -158,14 +158,13 @@ class GamePhysics { mob.pos.x += mob.mov.x; mobXColl(mob); - if (checkJump(mob.getRect(), mob.getDir()) && mob.canJump && mob.mov.x != 0) { + if (checkJump(mob.getRect(), mob.getDirection()) && mob.canJump && mob.mov.x != 0) { mob.mov.add(0, -8); mob.canJump = false; } } - void update(float delta) { - //TODO use delta time + void update() { for (Iterator it = GP.drops.iterator(); it.hasNext(); ) { Drop drop = it.next(); dropPhy(drop);