我正在尝试制作一个平台游戏。我已经有了碰撞检测代码(几乎完成),但似乎有一个错误。我尝试使用以下代码:
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个像素,有更好的解决方法吗?请帮忙,谢谢。
if (dy < 4)
。那是干什么用的? - Tony Ennisdy
开始为 .1,当i
从 0 增加到world.ground.size()
时,你可以接受dy
增加到 4 吗? - Tony Ennis