我正在使用libgdx并且我需要计算2个rects的重叠百分比。
实际上,它是添加到另一个Actor的Actor和矩形的重叠。
我想强调一个演员,如果另一个演员靠近它,那么这是一个接近检查。
如果有50%的重叠,我想突出显示。然后,如果被拖动靠近另一个的演员被触发释放,我会让它靠近另一个演员。
所以不仅仅是碰撞检测,我需要知道它们碰撞了多少。
答案 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...
}