碰撞检测的替代方案?

时间:2016-02-23 13:54:24

标签: java graphics collision-detection 2d-games

我需要检查区域a与区域b之间的碰撞:

Area a = new Area(new Ellipse2D.Float(100, 100, 70, 70));
Area b = new Area(new Polygon(x,y,n));

xy是存储多边形坐标的数组。我试过了:

boolean checkCollision()
{
    a.intersect(b);
    return !a.isEmpty();
}

最后我写了这个方法,看它是否有效:

public String toString()
{
    if(checkCollision())
        return "TOUCH";
    else
        return "NO TOUCH";
}

此方法似乎不起作用:当我触摸多边形的顶点时,它不会检测到碰撞。

enter image description here enter image description here

  

enter image description here

在第3张图片中,您可以看到,只有当我与他们没有碰撞的区域“足够远”时(这些图片中的多边形为白色)。如果他们靠近,相反,碰撞不是很准确,似乎没有工作。

这种方法是正确的方法吗?有什么建议?替代?

0 个答案:

没有答案
相关问题