如何检测三角形位图碰撞android?

时间:2015-02-07 21:02:14

标签: java android eclipse bitmap geometry

我正在制作Android游戏,我遇到了一些位图碰撞检测问题。问题是其中一个位图是一个三角形,第二个是矩形。我不知道如何检测它们之间的碰撞,因为现在我使用这段代码:

if(policeY<((canvas.getHeight()/20)+eye.getHeight()) && (policeY+police.getHeight())>(canvas.getHeight()/20)){
            if((policeX+police.getWidth())>triangleLeft && policeX<(triangleLeft+eye.getWidth())){
                //collision
                play = false;
            }else if((policeX+police.getWidth())<triangleLeft && policeX>(triangleLeft+eye.getWidth())){
                //collision
                play = false;
            }

        }

但是,此代码将它们作为矩形处理,即使三角形甚至不接触矩形,也会导致碰撞。

Like in this picture the circled area is considered as a collision

1 个答案:

答案 0 :(得分:0)

我将问题设置为交叉问题。将三角形的边缘定义为线条,然后将line-line intersection公式与矩形的边缘一起使用。然后检查此点是在矩形的边缘还是在矩形之外。