我有一个包含形状(矩形)的数组,然后是另一个形状,当它与数组中的一个形状发生碰撞时,我希望它不能通过,所以形状数组基本上是一个形状可以的墙壁数组不通过。这是我目前正在尝试的方式(W键的示例):
private boolean CanMove() {
for(Shape wall : mazeWalls) {
if(character.intersects(wall))
return true;
}
return false;
}
if (keyInput.isKeyDown(keyInput.KEY_W)) {
for(int i = 0; i <= MoveSpeed; i++) {
char_y--;
if(CanMove()) {
char_y++;
break;
}
}
}
形状数组非常小,所以我正在检查它 - 现在它会停止但它会卡在墙上并且无法退出/朝任何其他方向前进。它只是卡在墙上。如果有人有更好的方法来做到这一点,我将使用 Slick 和 LWJGL 或解决方案,我将不胜感激。谢谢。