我偶然发现了这段代码
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)和重叠方法。
答案 0 :(得分:1)
这个班真的不需要。
不仅因为Rectangle有一个方法来做同样的事情,而且因为还有Intersector
也提供了这个。 Intersector
有更多。它可以用于所有类型的交叉点和其他东西的重叠,而不仅仅是矩形。
为了使碰撞检查更加一致,您应该使用Intersector
而不是Rectangle
方法,但它实际上也是如此。