0
我有一個數組,其中包含形狀(矩形),然後是另一個形狀,當它與數組中的形狀碰撞時,我希望它無法通過,所以形狀數組基本上形狀不能通過的一系列牆壁。下面是我當前如何試圖做到這一點(W鍵的例子):帶有形狀的Java基本碰撞邏輯
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或我會非常感謝的解決方案。謝謝。
你的'CanMove'方法要麼是錯誤的命名,要麼你返回錯誤的值,因爲如果角色與牆相交,你告訴它返回true,實際上應該是false。上次我檢查你不能移動,如果你面臨一堵牆。 – Vallentin