Unity 2d side scoller 角色跳跃,无论速度如何

问题描述 投票:0回答:0

自从 2 天以来,我遇到了一个问题,但我似乎无法弄清楚。

我有一个 2d 无尽的跑步者与 WorldGenerator 和 WorldMover 脚本统一。 WorldGenerator 使用模板创建世界,MapMover 将每个模板移动到左侧,所以我的角色看起来一直在运行。

我的 CharacterController 只处理跳跃。到目前为止,我的游戏运行完美。

但是我的问题是世界速度变化它变得更快,如果发生这种情况也可能变得更慢我的角色跳跃距离(地图在他下方滚动直到他再次着陆的数量)发生变化,这是有道理的,但这使得创造一个世界变得不可能,因为速度不会在固定点发生变化,那里的瓷砖和电源会变慢,从而改变世界速度。

我尝试了无数不同的方法让玩家总是跳跃相同的高度、(距离)和投影。但我似乎无法找到一个有效的方法来存档它。此外,我根本不希望我的角色在 x 轴上移动。

在我看来,它应该和最初的跳跃一样简单,假设当世界以速度 5 移动时,只需加速跳跃,所以在速度 5 时,我的角色需要 1 秒才能完成跳跃,所以在速度 10 时它应该需要 0.5 秒。但我无法让它发挥作用。我尝试通过提供当前世界速度来改变不同公式中的重力和跳跃力,但我在这里也失败了大部分时间,跳跃与高度、距离或投影总是变化之前不一样。这与我想要的相反。

希望有人能给我指明正确的方向

unity3d 2d game-physics side-scroller
© www.soinside.com 2019 - 2024. All rights reserved.