我正在尝试找到可用于跳转的最短代码(不使用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
}
}
答案 0 :(得分:1)
代码越短并不意味着代码越好。学习正确编写代码,其余的将轻松完成。如果您可以很好地编写C#,则需要转到Unity3D脚本参考并学习一些API /框架。
https://docs.unity3d.com/Documentation/ScriptReference/
但是,在这种情况下-您的播放器需要一个“ CharacterController”组件或一个附加的“ RigidBody”。
平移是用于移动“变形”的简单函数,由于碰撞使用不当,不应将其用于“跳转”。
如果使用RigidBody,则可以向对象施加向上的力。
所有这些代码已为您完成,如果您导入Unity随附的“标准资产”包(或从资产存储库中),则可以进行研究。您将找到运动脚本,摄像机脚本等。
祝你好运!