在我在 Godot 的(第一个)项目中,一个简单的平台游戏,我想让角色滑动。当角色滑动时,他应该只有一格高,这样他就可以穿过更小的间隙。因为我不知道任何更好的解决方案,所以我像这样更改了 hitboxes:
(我也用一个单独的碰撞箱来行走)
enum Shape {
NORMAL,
WALK,
SLIDE
}
func set_shape(name):
$NormalCShape.disabled = true
$WalkCShape.disabled = true
$SlideCShape.disabled = true
if name == Shape.NORMAL:
$NormalCShape.disabled = false
elif name == Shape.WALK:
$WalkCShape.disabled = false
elif name == Shape.SLIDE:
$SlideCShape.disabled = false
这不是一个很好的解决方案。最近,我的代码变得更加复杂,因为我添加了不同的重力方向,这将导致 12 个不同的碰撞箱。我还没有找到更好的解决方案来做到这一点,但我觉得必须有一个。
那么有人可以帮我解决这个问题吗?