diff --git a/maps/world1.map b/maps/world1.map index c9d48aa..80445bb 100644 Binary files a/maps/world1.map and b/maps/world1.map differ diff --git a/src/sig/objects/LevelRenderer.java b/src/sig/objects/LevelRenderer.java index af07e67..7e653d7 100644 --- a/src/sig/objects/LevelRenderer.java +++ b/src/sig/objects/LevelRenderer.java @@ -31,19 +31,6 @@ public class LevelRenderer extends Object{ } private void CreateCollisionGrid() { - for (int i=0;i=0&&xpos=0&&yposMap.MAP_HEIGHT) { continue; @@ -92,7 +79,7 @@ public class LevelRenderer extends Object{ Draw_Text(4,4,new String(RabiClone.player.x_velocity),Font.PROFONT_12); Draw_Text(4,4+Font.PROFONT_12.getGlyphHeight(),new String(RabiClone.player.slide_time3),Font.PROFONT_12); } - RenderCollisionGrid(p); + //RenderCollisionGrid(p); } private void RenderCollisionGrid(byte[] p) { diff --git a/src/sig/objects/Player.java b/src/sig/objects/Player.java index 7b91c96..2367437 100644 --- a/src/sig/objects/Player.java +++ b/src/sig/objects/Player.java @@ -362,70 +362,22 @@ public class Player extends AnimatedObject implements CollisionEntity { double displacement_x = x_velocity*updateMult; boolean sideCollision = false; - for(int i=0;i<4;i++){ - double check_distance_x = (displacement_x/4)*(i+1); - Tile checked_tile_top_right = RabiClone.CURRENT_MAP.getTile((int)(getX()+getAnimatedSpr().getWidth()/2-4+check_distance_x)/Tile.TILE_WIDTH, (int)(getY()+getAnimatedSpr().getHeight()/2)/Tile.TILE_HEIGHT); - Tile checked_tile_top_left = RabiClone.CURRENT_MAP.getTile((int)(getX()-getAnimatedSpr().getWidth()/2+4+check_distance_x)/Tile.TILE_WIDTH, (int)(getY()+getAnimatedSpr().getHeight()/2)/Tile.TILE_HEIGHT); - Tile checked_tile_bottom_center = RabiClone.CURRENT_MAP.getTile((int)(getX())/Tile.TILE_WIDTH, (int)(getY()+getAnimatedSpr().getHeight()/2)/Tile.TILE_HEIGHT); - - if(checked_tile_top_right.getCollision()==CollisionType.BLOCK||checked_tile_top_left.getCollision()==CollisionType.BLOCK){ - //System.out.println(checked_tile_top_right.getCollision()+"//"+checked_tile_top_left.getCollision()); - if(checked_tile_bottom_center.getCollision()==CollisionType.SLOPE){ - } else { - if (checked_tile_top_right.getCollision()==CollisionType.BLOCK) { - setX(((int)(getX()-getAnimatedSpr().getWidth()/2)/Tile.TILE_WIDTH)*Tile.TILE_WIDTH+Tile.TILE_WIDTH/2+3+check_distance_x); - } else { - setX(((int)(getX()+getAnimatedSpr().getWidth())/Tile.TILE_WIDTH)*Tile.TILE_WIDTH-Tile.TILE_WIDTH/2-3+check_distance_x); - } + double startingX=getX(); + if (displacement_x>0) { + for (int x=(int)getX();xySlopeCollisionPoint(checked_tile_bottom_center)) - { - moveUpSlope(checked_tile_bottom_center); - collisionOccured = groundCollision(0); - break; - } - //System.out.println((int)getX()/Tile.TILE_WIDTH); - if(checked_tile_bottom_right.getCollision()==CollisionType.BLOCK||checked_tile_bottom_left.getCollision()==CollisionType.BLOCK){ - collisionOccured = groundCollision(check_distance_y); - break; - } - } - if (!collisionOccured) { - groundCollision=false; - } - } + groundCollision=true; if (!groundCollision){ this.setY(this.getY()+displacement_y); y_acceleration = GRAVITY;