com.golden.gamedev.object
Class CollisionBounds

java.lang.Object
  |
  +--com.golden.gamedev.object.CollisionBounds
All Implemented Interfaces:
CollisionGroupManager

public abstract class CollisionBounds
extends Object
implements CollisionGroupManager


Field Summary
static int BOTTOM_COLLISION
           
static int LEFT_COLLISION
           
static int RIGHT_COLLISION
           
static int TOP_COLLISION
           
 
Constructor Summary
CollisionBounds(SpriteGroup group, Background backgr)
           
CollisionBounds(SpriteGroup group, int x, int y, int width, int height)
           
 
Method Summary
 void checkCollision()
           
abstract  void collided(Sprite sprite)
          Sprite sprite hit bounds, perform collide implementation.
 Rectangle getBounds()
           
 CollisionRect getCollisionRect1()
           
 SpriteGroup getGroup1()
           
 SpriteGroup getGroup2()
           
 boolean isActive()
           
 boolean isCollideSide(int side)
           
 void revertPosition1()
           
 void setActive(boolean b)
           
 void setCollisionGroup(SpriteGroup group1, SpriteGroup group2)
           
 boolean setCollisionRect1(Sprite s1, CollisionRect rect)
          Sets Sprite one collision rectangle (sprite bounding box) into rect.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LEFT_COLLISION

public static final int LEFT_COLLISION
See Also:
Constant Field Values

RIGHT_COLLISION

public static final int RIGHT_COLLISION
See Also:
Constant Field Values

TOP_COLLISION

public static final int TOP_COLLISION
See Also:
Constant Field Values

BOTTOM_COLLISION

public static final int BOTTOM_COLLISION
See Also:
Constant Field Values
Constructor Detail

CollisionBounds

public CollisionBounds(SpriteGroup group,
                       int x,
                       int y,
                       int width,
                       int height)

CollisionBounds

public CollisionBounds(SpriteGroup group,
                       Background backgr)
Method Detail

setCollisionGroup

public void setCollisionGroup(SpriteGroup group1,
                              SpriteGroup group2)
Specified by:
setCollisionGroup in interface CollisionGroupManager

getGroup1

public SpriteGroup getGroup1()
Specified by:
getGroup1 in interface CollisionGroupManager

getGroup2

public SpriteGroup getGroup2()
Specified by:
getGroup2 in interface CollisionGroupManager

isActive

public boolean isActive()
Specified by:
isActive in interface CollisionGroupManager

setActive

public void setActive(boolean b)
Specified by:
setActive in interface CollisionGroupManager

revertPosition1

public void revertPosition1()

setCollisionRect1

public boolean setCollisionRect1(Sprite s1,
                                 CollisionRect rect)
Sets Sprite one collision rectangle (sprite bounding box) into rect.

In this implementation, the sprite bounding box is as large as Sprite dimension :

     public boolean getCollisionRect1(Sprite s1, CollisionRect rect) {
         rect.setBounds(s1.getX(), s1.getY(),
                        s1.getWidth(), s1.getHeight());
         return rect;
     }
 

Returns:
false, to skip collision check
See Also:
CollisionRect.intersects(CollisionRect), CollisionRect.setBounds(int,int,int,int)

getCollisionRect1

public CollisionRect getCollisionRect1()

checkCollision

public void checkCollision()
Specified by:
checkCollision in interface CollisionGroupManager

isCollideSide

public boolean isCollideSide(int side)

collided

public abstract void collided(Sprite sprite)
Sprite sprite hit bounds, perform collide implementation.


getBounds

public Rectangle getBounds()