[英]How can I add Jump Buffer after a Double Jump for 2D platformer in Unity?
[英]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.