跳跃状态

Unity 2D游戏开发教程之游戏中精灵的跳跃状态

我们两清 提交于 2019-12-10 07:16:19
Unity 2D游戏开发教程之游戏中精灵的跳跃状态 精灵的跳跃状态 为了让游戏中的精灵有更大的活动范围,上一节为游戏场景添加了多个地面,于是精灵可以从高的地面移动到低的地面处,如图 2-14 所示。但是却无法从低的地面移动到高的地面,因为当前的游戏精灵只能左右移动,即 left 和 right 。为了解决这个问题,本节就来为精灵添加跳跃状态。 图 2-14 精灵从一个地面移动到另一个地面 ( 1 ) 如果要为精灵添加跳跃状态,即 jump ,就不得不再引入其它状态: q landing :用于表示精灵接触到地面的这种状态。为了阻止精灵在跳跃到空中的时候再次跳跃,就需要在精灵做跳跃动作之前,确认其接触到了地面。 提示: 有些游戏允许精灵在空中的时候再跳跃一次,也就是所谓的二级跳。例如,《天天酷跑》中,精灵就需要有二级跳的能力,因为有些场景光是跳跃一次无法跳过悬崖,或者吃到金币,如图 2-15 所示。 图 2-15 《天天酷跑》中,需要连续跳跃来越过断崖的精灵 q falling :用于表示精灵在空中的状态,处于此种状态下的精灵只可能过渡到 landing 和 kill 状态,也就是说精灵在空中的时候,无法产生其它动作行为,如 left 和 right 。 ( 2 ) 为脚本 PlayerStateController 中定义的动画状态枚举类型添加 3 种新的状态: jump 、