实施墙跳

我读过这个问题,但是我在实现时遇到了麻烦。 我已经得到了尽可能实现一个计时器,以控制何时可以跳墙。 现在,如果我爬到墙上,然后跳起来,我会有一个计时器,这个计时器会在以后耗尽(然后我将无法在半空跳墙)。

但是,我不知道如何实现它。 我在这里看到了两个问题 – 一个是确定玩家应该走的方向,以及如何抵消按下方向箭头键的效果,并抵消当我跳下墙时应用的速度。 另外,当我打另一面墙时,我遇到了麻烦,所以我可以再次跳墙。

这很依赖于你如何做你的碰撞检测。 例如,对于“方向”的问题…如果你把你的等级定义为多边形并且以这种方式进行碰撞检测,那么确定与你正在碰撞的线的垂直向量将是非常微不足道的。将是你“跳跃”的方向。

对于按下箭头键的效果,理想情况下,你什么也不做。 一旦你确定了跳跃的方向,你就可以在这个方向改变球员的速度来推动他们。 一旦他们完成了跳墙后,他们为什么不应该影响他们的轨迹? 我的意思是,当然这对你的游戏的控制scheme是完全重要的,因为有些游戏不允许你在空中控制角色…但是即使在这种情况下,默认行为也应该处理它,因为input在空气。

至于关于如何确定何时撞到另一面墙的问题……这不应该是一个问题,如果这是代表devise的问题。 你应该把这个逻辑放在某种“实体”之内。 良好的面向对象的devise不是万能的,但它可以大大缓解系统的复杂性,比如游戏。