1
我正在做一个平铺2d方平台游戏。到目前为止,我做了一些事情。 我正在使用libgdx的矩形进行基本的碰撞检测,所以考虑 我现在只有草块了现在我在Java中做了一个单独的块世界(文件阅读器没有准备好) 问题是我的检测只在第一次工作换句话说,如果我产生碰撞 到它检测到碰撞的块并且这样做。尽管如果我将球员排在 的顶部,那么与碰撞球员永远落在一起。LibGdx - 平铺游戏碰撞检测
下面是代码world.update();
=>
public void update() {
Iterator<block> cb = Blocks.iterator();
while (cb.hasNext()) {
block b = cb.next();
if (b.getBounds().overlaps(player.getBounds())) {
if (player.getPosition().x >= b.getPosition().x + 32) {
//RIGHT
player.getVelocity().x = 0;
} else if (player.getPosition().x + 32 <= b.getPosition().x) {
//Left
player.getVelocity().x = 0;
}
//All Y
player.getVelocity().y = 0;
}
if (!b.getBounds().overlaps(player.getBounds())) {
player.getVelocity().y = -gravity;
}
}
}