LibGDX:多边形 - 整体检测,包含有关方向的信息

时间:2017-06-27 10:59:24

标签: java libgdx collision-detection game-physics

我的游戏中有两个多边形。在这个简单的例子中,它们只是两个部分。现在我想检查碰撞,如果发生一次碰撞,我想将速度设置为零。使用Intersector.overlapConvexPolygons我测试碰撞。

现在,我不想将移动物体的两个(水平和垂直)速度设置为0.0,因为在这种情况下,玩家每次碰到墙壁时都会完全停止。我想要意识到的是,玩家仍然会沿着墙壁“滑动”,只有指向墙壁的速度才会被切割/设置为零。

我怎么能意识到这一点?

我目前的代码:

    Intersector.MinimumTranslationVector mtv = new MinimumTranslationVector();
    bool hasCollid = Intersector.overlapConvexPolygons(velocityPoly, velocityObstaclePoly, mtv);

    if (hasCollid) {
        velocity.horizontalVelocity = 0.0f;
        velocity.verticalVelocity = 0.0f;
    }

0 个答案:

没有答案