|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.golden.gamedev.object.CollisionGroupStandard
The basic standard of collision check,
it only check is the collision occured or not.
The collision side, the sprite position to return after collision
is not provided in here. To get more information
about the collision event, use CollisionGroup
instead.
This class is suitable for hit and destroy collision type.
For example: collision between projectile and enemy ships.
Playfield playfield; SpriteGroup PROJECTILE, ENEMY; playfield.addCollisionGroup(PROJECTILE, ENEMY, new CollisionGroupStandard() { public void collided(Sprite sprite1, Sprite sprite2) { // after enemy collided with projectile, // the enemy explode, set to non-active sprite2.setActive(false); } } );
CollisionGroupManager
,
PlayField.addCollisionGroup(SpriteGroup, SpriteGroup, CollisionGroupManager)
Constructor Summary | |
CollisionGroupStandard()
|
|
CollisionGroupStandard(SpriteGroup group1,
SpriteGroup group2)
|
Method Summary | |
void |
checkCollision()
|
abstract void |
collided(Sprite sprite1,
Sprite sprite2)
Sprite sprite1 and Sprite sprite2 is collided,
perform any collide implementation. |
CollisionRect |
getCollisionRect1()
|
CollisionRect |
getCollisionRect2()
|
SpriteGroup |
getGroup1()
|
SpriteGroup |
getGroup2()
|
boolean |
isActive()
|
boolean |
isCollide(CollisionRect r1,
CollisionRect r2,
Sprite s1,
Sprite s2)
|
boolean |
isCollide(Sprite s1,
Sprite s2)
Returns true if Sprite s1 collide with
Sprite s2 . |
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 . |
boolean |
setCollisionRect2(Sprite s2,
CollisionRect rect)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public CollisionGroupStandard(SpriteGroup group1, SpriteGroup group2)
public CollisionGroupStandard()
Method Detail |
public void setCollisionGroup(SpriteGroup group1, SpriteGroup group2)
setCollisionGroup
in interface CollisionGroupManager
public SpriteGroup getGroup1()
getGroup1
in interface CollisionGroupManager
public SpriteGroup getGroup2()
getGroup2
in interface CollisionGroupManager
public boolean isActive()
isActive
in interface CollisionGroupManager
public void setActive(boolean b)
setActive
in interface CollisionGroupManager
public boolean setCollisionRect1(Sprite s1, CollisionRect rect)
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; }
CollisionRect.intersects(CollisionRect)
,
CollisionRect.setBounds(int,int,int,int)
public boolean setCollisionRect2(Sprite s2, CollisionRect rect)
public CollisionRect getCollisionRect1()
public CollisionRect getCollisionRect2()
public void checkCollision()
checkCollision
in interface CollisionGroupManager
public boolean isCollide(Sprite s1, Sprite s2)
s1
collide with
Sprite s2
. This method do not check is the sprites
in active state or not, therefore check for sprite active state
before call this method.
public boolean isCollide(CollisionRect r1, CollisionRect r2, Sprite s1, Sprite s2)
public abstract void collided(Sprite sprite1, Sprite sprite2)
sprite1
and Sprite sprite2
is collided,
perform any collide implementation.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |