Hey everyone.
I am trying to implement collision detection in Android but I am working on a special case.
So let’s assume there is a moving object A and a non-movable object B which is the barrier.
Object A is an image and can be moved by user input. It is implemented in the SurfaceView method onTouchEvent.
Action_down checks, if the user clicked on the image, then touched is set to true. Action_move sets the new position of the image, if “touched” was set to true.
PSEUDOCODE 1
if(Rect.intersects(player,barrier)) {
Check via Minkowski sum which side of the barrier the collison occured.
while(true) {
move player-object back out of the collision zone until no collision is detected anymore
if ( !Rect.intersects(player,barrier) ) {
break;
}
}
}
If I drag the player-image through the barrier, it suddenly appears on the other side of the barrier. It doesn’t surprise me, since ACTION_MOVE simply gets
the MOVE-coordinates on the other side of the barrier and draws the image again.
Could you suggest a way to make sure that the image isn’t drawn on the other side of the barrier, when the user moves over the barrier with the finger?
Thank you very much.