代码分为三部分:
- Update()中的输入判定代码
- LateUpdate()中的跳跃实现部分
- OnCollisionEnter()与OnCollisionExit()的落地&离地检测部分
当玩家按下跳跃键时进入跳跃状态并判断当前的水平速度
//跳跃判定
if (Input.GetButtonDown("Jump") &&nextJump) //不能在落地前跳跃
if (currentBaseState.fullPathHash == walkingState||
currentBaseState.fullPathHash == runningState||
currentBaseState.fullPathHash == standingState)//不能在动画完成前跳跃
{
nextJump = false;//落地前无法再次起跳
GameManager.isJumping = true;//进入跳跃状态