如果我按下键盘按钮,是否有*短代码*使球(球员)跳起来?

时间:2019-01-17 15:06:53

标签: c# unity3d

我正在尝试找到可用于跳转的最短代码(不使用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
    }


}

1 个答案:

答案 0 :(得分:1)

代码越短并不意味着代码越好。学习正确编写代码,其余的将轻松完成。如果您可以很好地编写C#,则需要转到Unity3D脚本参考并学习一些API /框架。

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

但是,在这种情况下-您的播放器需要一个“ CharacterController”组件或一个附加的“ RigidBody”。

平移是用于移动“变形”的简单函数,由于碰撞使用不当,不应将其用于“跳转”。

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

所有这些代码已为您完成,如果您导入Unity随附的“标准资产”包(或从资产存储库中),则可以进行研究。您将找到运动脚本,摄像机脚本等。

祝你好运!