[英]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.