X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavecraft%2Fgame%2FGamePhysics.java;h=3c2e9ec718f1653526f93b70edf30dda8928054b;hb=f7cc93fff73659b11d3666cdfd92efca1bf403dd;hp=b20575a7034b927ee201e3c56bda7d91a449ae77;hpb=19eb912d7ac7d2ef99f85ea4dd87c6611586891f;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavecraft/game/GamePhysics.java b/core/src/ru/deadsoftware/cavecraft/game/GamePhysics.java index b20575a..3c2e9ec 100644 --- a/core/src/ru/deadsoftware/cavecraft/game/GamePhysics.java +++ b/core/src/ru/deadsoftware/cavecraft/game/GamePhysics.java @@ -24,7 +24,6 @@ public class GamePhysics { private boolean checkJump(Rectangle rect, int dir) { int bl = 0; - if (rect.x<0) rect.x-=16; switch (dir) { case 0: bl = gameProc.world.getForeMap( @@ -95,8 +94,10 @@ public class GamePhysics { while (checkColl(pl.getRect())) pl.position.x += d; } } + if (pl.position.x+pl.texWidth/2<0) pl.position.x+=gameProc.world.getWidth()*16; + if (pl.position.x+pl.texWidth/2>gameProc.world.getWidth()*16) pl.position.x-=gameProc.world.getWidth()*16; if (pl.position.y > gameProc.world.getHeight()*16) { - pl.position = gameProc.world.getSpawnPoint().cpy(); + pl.position = gameProc.world.getSpawnPoint(0).cpy(); } if (CaveGame.TOUCH && checkJump(pl.getRect(), pl.dir) && !pl.flyMode && pl.canJump && !pl.moveX.equals(Vector2.Zero)) { pl.moveY.add(0, -8); @@ -118,6 +119,8 @@ public class GamePhysics { } mob.moveY.add(gravity); mob.position.add(mob.moveX); + if (mob.position.x+mob.width/2<0) mob.position.x+=gameProc.world.getWidth()*16; + if (mob.position.x+mob.width/2>gameProc.world.getWidth()*16) mob.position.x-=gameProc.world.getWidth()*16; if (checkColl(mob.getRect())) { int d = 0; if (mob.moveX.x<0) d=1; else if (mob.moveX.x>0) d=-1;