形状 (長方形) を含む配列があり、それが配列内の形状と衝突したときに通過できないようにしたい別の形状があるため、形状の配列は基本的に、形状ができる壁の配列です。通過します。これが私が現在それをやろうとしている方法です(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 またはソリューションを使用しています。ありがとう。