public void Jump() { //接触地面才能跳 if (!rb.isOnGround || abilController.acting) { return; } rb.AddForce(Vector2.up * jumpVelocity); actor.SetBool("Jumping", true); //LeaveGround(); }
public void Jump() { if (isStuned) { return; } if (wallSliding) { float inputH = Input.GetAxisRaw("Horizontal"); int wallDir = (rigidbodyBox.collisions.left) ? -1 : 1; if (wallDir == inputH) //按朝着墙的方向 { rigidbodyBox.velocity.x = -wallDir * wallJumpClimb.x; rigidbodyBox.velocity.y = wallJumpClimb.y; } else if (inputH == 0) //不按方向键 { rigidbodyBox.velocity.x = -wallDir * wallJumpOff.x; rigidbodyBox.velocity.y = wallJumpOff.y; } else //按和墙反方向键 { rigidbodyBox.velocity.x = -wallDir * wallLeap.x; rigidbodyBox.velocity.y = wallLeap.y; } } else { //接触地面才能跳 if (rigidbodyBox.isOnGround) { rigidbodyBox.AddForce(Vector2.up * jumpVelocity); } } }