使用自制类然后已经可用(Rectangle包含,重叠方法)

时间:2014-01-22 04:42:27

标签: libgdx

我偶然发现了这段代码

if (OverlapTester.pointInRectangle(playRegion, touchPoint.x, touchPoint.y)) {
     game.setTransitionScreen(game, new LevelScreen(game));
     return;
}

class ::

public class OverlapTester {
    public static boolean pointInRectangle (Rectangle r, float x, float y) {
         return r.x <= x && r.x + r.width >= x && r.y <= y && r.y + r.height >= y;
    }
}

我无法理解为什么这样做?当libgdx已经提供了rectangle.contains(rec)和重叠方法。

1 个答案:

答案 0 :(得分:1)

这个班真的不需要。

不仅因为Rectangle有一个方法来做同样的事情,而且因为还有Intersector也提供了这个。 Intersector有更多。它可以用于所有类型的交叉点和其他东西的重叠,而不仅仅是矩形。

为了使碰撞检查更加一致,您应该使用Intersector而不是Rectangle方法,但它实际上也是如此。