我正在嘗試製作平臺遊戲。我有碰撞代碼(幾乎),但似乎有一個錯誤。我試試這個代碼:平臺遊戲者碰撞(穿透地面幾個像素)
for (int i = 0; i < world.ground.size(); i++) {
if (!world.ground.get(i).intersects((int) x, (int) y, player_width, player_height + (int) dy)) {
y += dy;
if (dy < 4) {
dy += 0.1;
}
} else {
dy = 0;
jumped = false;
}
}
但是有時我的角色的腳通過2或3像素穿過地面。有一個更好的方法嗎?請幫忙,謝謝。
都香椿的腳相同的高度?它可能是唯一的缺陷是純粹的化妝品。 x,y和dy的數據類型是什麼?有趣的代碼是'if(dy <4)'位。那個有什麼用? –
我不希望dy太高。所以你可以認爲4是終端速度。 x y和dy是雙打。腳的高度是相同的。 –
因此,如果'dy'從.1開始,那麼您可以將'dy'增加到4,因爲'i'從0增加到'world.ground.size()'? –