首页 > 解决方案 > 如何实现类似于Alto Adventure的2D跳跃?

问题描述

我已经通过改变变换和应用速度来实现,但没有得到那种平滑度。

 // In Update 

 if (Input.GetKeyDown("space"))
    {
        isJumping = true;
        StartCoroutine(Jump()); 
        isJumping = false;
    }

IEnumerator Jump() 
{
    if (IsGrounded())
    {
        isJumping = true;
        player.gravityScale = gravityDuringJump;
        player.velocity = new Vector2(jumpSpeedInX, jumpSpeedInY);        
    }

    yield return new WaitUntil(() => IsGrounded() == false);
    isJumping = false;
}

标签: c#unity3dgame-physics

解决方案


推荐阅读