簡體   English   中英

如果我按下鍵盤按鈕,是否有 * 短代碼 * 可以讓球(玩家)跳躍?

[英]Is there a *shortcode* to make the ball (player) jump if i press a keyboard button?

我試圖找到我可以用來跳轉的最短代碼(不使用 Rigidbody )

我是初學者,我使用了 Unity 引擎,我嘗試使用最短的代碼學習基礎知識,我想學習如何在按下 UpArrow 或我選擇的任何鍵時使球跳躍。

float Speed = 4;  
float ground;

void Start()
{
    ground = transform.position.y;
}

void Update()
{
    if (Input.GetKey(KeyCode.RightArrow))
    {
        transform.Translate(Time.deltaTime * Speed, 0, 0);
    }

    if (Input.GetKey(KeyCode.LeftArrow))
    {
        transform.Translate(Time.deltaTime * -Speed, 0, 0);
    }

    if (ground == transform.position.y && Input.GetKey(KeyCode.UpArrow))
    {
        // stucked here XD
    }


}

代碼越短並不意味着代碼越好。 學習正確編寫代碼,其余的就會輕松完成。 如果你能寫好 C#,那么你需要去 Unity3D Scripting Reference 學習一些 API / Framework。

https://docs.unity3d.com/Documentation/ScriptReference/

但是,在這種情況下 - 您的播放器需要一個“CharacterController”組件,或者一個附加到它的“RigidBody”。

Translation 是一個用於移動 Transforms 的簡單函數,它不應該用於“Jump”,因為碰撞使用不當。

如果使用 RigidBody,則可以對對象施加向上的力。

所有這些代碼都是為您完成的,如果您導入 Unity 附帶的“標准資產”包(或從資產商店),則可以進行研究。 您會發現移動腳本、相機腳本等。

祝你好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM