com.golden.gamedev.object
Class CollisionGroupPrecise
java.lang.Object
|
+--com.golden.gamedev.object.CollisionGroupStandard
|
+--com.golden.gamedev.object.CollisionGroup
|
+--com.golden.gamedev.object.CollisionGroupPrecise
- All Implemented Interfaces:
- CollisionGroupManager
- Direct Known Subclasses:
- PlatformCollision
- public abstract class CollisionGroupPrecise
- extends CollisionGroup
Subclass of CollisionGroup
that calculate precise sprite position after collision.
Suitable for precise collision detection that the collided object
is stopped rather than disappeared after collision.
For example collision between ball and blocks,
the ball need to stop or bounce precisely when collided with block.
- See Also:
PlayField.addCollisionGroup(SpriteGroup, SpriteGroup, CollisionGroupManager)
Fields inherited from class com.golden.gamedev.object.CollisionGroup |
BOTTOM_TOP_COLLISION, collisionSide, collisionX1, collisionX2, collisionY1, collisionY2, LEFT_RIGHT_COLLISION, RIGHT_LEFT_COLLISION, sprite1, sprite2, TOP_BOTTOM_COLLISION |
Methods inherited from class com.golden.gamedev.object.CollisionGroupStandard |
checkCollision, collided, getCollisionRect1, getCollisionRect2, getGroup1, getGroup2, isActive, isCollide, setActive, setCollisionGroup, setCollisionRect1, setCollisionRect2 |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CollisionGroupPrecise
public CollisionGroupPrecise(SpriteGroup group1,
SpriteGroup group2)
CollisionGroupPrecise
public CollisionGroupPrecise()
isCollide
public boolean isCollide(CollisionRect r1,
CollisionRect r2,
Sprite s1,
Sprite s2)
- Description copied from class:
CollisionGroup
- Returns true if Sprite
s1
and Sprite s2
bounding box (r1
, r2
) collided.
This method is responsible to take care all collision event,
such as which sprite
is collided
(in this case s1
and s2
),
the collision side
,
position where collision actually occured
(collisionX1
, collisionY1
for sprite one, and collisionX2
,
collisionY2
for for sprite two).
The information is used for CollisionGroup.revertPosition1()
and
CollisionGroup.revertPosition2()
method. If the given information is false,
those two method result will be unpredictable.
- Overrides:
isCollide
in class CollisionGroup
- Returns:
- true, if sprite
s1
and s2
collided - See Also:
CollisionGroup.collisionSide
,
CollisionGroup.sprite1
,
CollisionGroup.collisionX1
,
CollisionGroup.collisionY1
,
CollisionGroup.revertPosition1()