你如何不断检查Box2d身体之间的碰撞?

时间:2017-01-28 11:19:33

标签: java libgdx box2d

我正在使用Libgdx box2d,我需要不断检查实体之间的碰撞,不像在Libgdx上你可以在box2d上rectangle.overlaps(rect1),你需要实现ContactListener只有beginContact()endContact()。我想一直检测碰撞,而不仅仅是它开始或结束时。

1 个答案:

答案 0 :(得分:1)

无需每帧检查一次。只需在联系和联系结束时设置布尔值。

public class MyBody {
    private boolean colliding;

    //...

    public void update()
    {
        if (beginContact()) colliding = true;
        else if (endContact) colliding = false;

        if (colliding)
        {
            System.out.println("I am colliding...");
        }
        else
        {
            System.out.println("I am not colliding...");
        }
    }
}