繁体   English   中英

流畅的双跳Unity 2D平台游戏

[英]Smooth double jump Unity 2D platformer

我正在尝试为Unity 2D和平台游戏制作流畅的双跳机制,但现在如果您在初始跳后立即跳,第二跳会更大,而我想以另一种方式绕双跳应该将您扔得更高如果稍后像大多数2D平台游戏中一样按下它,这就是我的代码

       private void Update()
       {
            grounded = Physics2D.OverlapArea(transform.position, GroundedEnd.position, 1 << LayerMask.NameToLayer("Ground"));
            if (grounded || !doubleJumpUsed)
            {
                playerRigidBody.AddForce(new Vector2(0, JumpPower));
            }
            if (!grounded && !doubleJumpUsed)
            {
                doubleJumpUsed = true;
            }
            UpdateJumpingAnimator();
        }

        private void UpdateJumpingAnimator()
        {
           if (grounded)
           {
               doubleJumpUsed = false;
           }
        }

试试这个代码:

playerRigidBody.AddForce(new Vector2(0, JumpPower), ForceMode2D.Impulse);

在这种情况下,有必要减小变量JumpPower的值

老实说,我不确定是否有一种不错的方法来完成您要问的事情。 但是您是否尝试过将JumpPower连接到计时器中? 换句话说,角色在空中的时间越长,经过的时间越长,按下按钮时对第二跳的作用力就越大。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM