That they can't run thought the other Object. ^^
Thx
   
   
            
Actor wall = getOneObjectAtOffset(Wall.class, xOffset, yOffset); //xOffset and yOffset can be whatever you want
if(wall == null) { //if the person is not touching a wall
      move();//or do whatever you do to move the person
}
//if the wall is not null(it is real and is touching the person), do nothing.
TeamRot redTeamMember = getOneObjectAtOffset(TeamRot.class, xOffset, yOffset); //xOffset and yOffset can be whatever you want  
Ball ball = getOneObjectAtOffset(Ball.class, xOffset, yOffset); //xOffset and yOffset can be whatever you want  
if(redTeamMember == null && ball == null) { //if the player is not hitting an opposing team member, or the ball
      //put the code to move the player here 
}  
TeamRot redTeamMember = getOneObjectAtOffset(TeamRot.class, xOffset, yOffset); //xOffset and yOffset can be whatever you want  
if(redTeamMember == null) { //if the player is not hitting an opposing team member
      //then it can catch the ball,
      tryToCatchBall();
      //put the code to move the player here 
} 
//here is what tryToCatchBall() should look like:
public void tryToCatchBall()
{
    Ball ball = (Ball) getOneIntersectingObject(this);
    if(ball != null) {
         //we divide the width and height by 2 to get the space between the center of the player and the edge of the player's image.
         int width = getImage().getWidth()/2;
         int height = getImage().getHeight()/2;
         if(direction.equals("west"))
            ball.setLocation(getX()-width, getY());
         else if(direction.equals("north"))
            ball.setLocation(getX(), getY()-height);
         else if(direction.equals("east"))
            ball.setLocation(getX()+width, getY());
         else if(direction.equals("south"))
            ball.setLocation(getX(), getY()+height);
    }
}