SHARE
TWEET

Untitled

a guest Sep 17th, 2014 8 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         private void checkBlocksCollision() {
  2.         //      for (int i = 0; i < blocks.size(); i++) {
  3.         //              Block block = blocks.get(i);                   
  4.                         if(player.bounds.overlaps(block.bounds)){          
  5.                                 Rectangle intersection = new Rectangle();                  
  6.                                 Intersector.intersectRectangles(player.bounds, block.bounds, intersection);
  7.                                 boolean checkForTopCollision = true;
  8.                                 collideTop(intersection,player);
  9.                                 if(collideLeft(intersection,player) ){
  10.                                         //left
  11.                                         player.position.x = intersection.x - player.width;
  12.                                         checkForTopCollision = false;
  13.                                 }
  14.                                
  15.                                 if(collideRight(intersection,player)){
  16.                                         //right
  17.                                         player.position.x = intersection.x + intersection.width;
  18.                                         checkForTopCollision = false;
  19.                                 }
  20.                                 if(checkForTopCollision){
  21.                                         if(collideTop(intersection,player) && collideLeft(intersection,player) == false && collideRight(intersection,player) == false){
  22.                                                 //top
  23.                                        
  24.                                                 player.position.y = intersection.y + intersection.height;
  25.                                                 player.state = PlayerState.STANDING_ON_BLOCK;
  26.                                         }
  27.                                 }                                  
  28.                         }else{
  29.                                 player.state = PlayerState.MOVING;
  30.                         }
  31.                 //}
  32.         }
  33.        
  34.         private boolean collideLeft(Rectangle intersection, Player player){
  35.                 if(intersection.x > player.bounds.x){
  36.                         return true;
  37.                 }
  38.                 return false;
  39.         }
  40.         private boolean collideRight(Rectangle intersection, Player player){
  41.                 if(intersection.x + intersection.width < player.bounds.x + player.width){
  42.                         return true;
  43.                 }
  44.                 return false;
  45.         }
  46.        
  47.         private boolean collideTop(Rectangle intersection, Player player){
  48.                
  49.                 if(intersection.y + intersection.height < player.bounds.y + player.height){
  50.                         System.out.println("collide top");
  51.                         return true;
  52.                 }
  53.                 return false;
  54.         }
  55.        
  56.         private boolean collideBottom(Rectangle intersection, Player player){
  57.                 return false;
  58.         }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top