libgdx计算重叠百分比?

时间:2015-10-18 14:15:26

标签: libgdx overlap

我正在使用libgdx并且我需要计算2个rects的重叠百分比。

实际上,它是添加到另一个Actor的Actor和矩形的重叠。

我想强调一个演员,如果另一个演员靠近它,那么这是一个接近检查。

如果有50%的重叠,我想突出显示。然后,如果被拖动靠近另一个的演员被触发释放,我会让它靠近另一个演员。

所以不仅仅是碰撞检测,我需要知道它们碰撞了多少。

1 个答案:

答案 0 :(得分:1)

您可以使用Libgdx Intersector类轻松实现它。您需要为结果创建两个Rectangles和第三个 - 您需要做的就是在交叉后检查区域

    Actor a,b;

    ...

    Rectangle r = new Rectangle(a.getX(), a.getY(), a.getWidth(), a.getHeight() );
    Rectangle s = new Rectangle(b.getX(), b.getY(), b.getWidth(), b.getHeight() );

    Rectangle result = new Rectangle();

    Intersector.intersectRectangles(r, s, result);

    if( result.area() >= 0.5f * r.area() )
    {
        //do something if result area is equal to 50% a Actor area or more...
    }