簡體   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