小编C.O*_*D.E的帖子

矩形之间的碰撞检测(无重叠) - libgdx

我已经在这里工作了2-3个星期,我仍然无法进行适当的碰撞检测.我用矩形创建了一个迷宫.我希望我的对象(在矩形中)在我的对象与任何墙碰撞并且能够移动到任何地方(或向下滑动墙)时停止.我的墙(矩形)具有负坐标,如下所示:

shapeRenderer.rect(0.9f, 12, 1.15f, 0, Color.RED, Color.RED, Color.RED, Color.RED); //NORTH
shapeRenderer.rect(1, 12, 0, -1.05f, Color.RED, Color.RED, Color.RED, Color.RED); // WEST
shapeRenderer.rect(2, 12, 0, -1.05f, Color.RED, Color.RED, Color.RED, Color.RED); // EAST
shapeRenderer.rect(0.9f, 11, 1.15f, 0, Color.RED, Color.RED, Color.RED, Color.RED); // SOUTH
Run Code Online (Sandbox Code Playgroud)

我目前正在使用我在SO中找到的重叠方法.这是我的CollisionManager类中的方法:

private boolean overlaps (Rectangle collision, Rectangle wall) {
    return Math.min(collision.x, collision.x + collision.width) 
        < Math.max(wall.x, wall.x + wall.width) 
    && Math.max(collision.x, collision.x + collision.width) 
        > Math.min(wall.x, wall.x + wall.width) 
    && Math.min(collision.y, collision.y + collision.height) 
        < Math.max(wall.y, wall.y + wall.height) 
    && …
Run Code Online (Sandbox Code Playgroud)

java maze collision-detection collision libgdx

9
推荐指数
2
解决办法
3337
查看次数

标签 统计

collision ×1

collision-detection ×1

java ×1

libgdx ×1

maze ×1