C# 如何使游戏对象向前跳跃?

C# 如何使游戏对象向前跳跃?,c#,unity3d,gameobject,C#,Unity3d,Gameobject,嗨,我真的是个新手,需要一些帮助,我想知道如何让我的游戏对象向前跳跃(你握得越久,它就会跳得越远),我的游戏对象上已经有一个刚体了,以防有帮助 public class PlayerScript : MonoBehaviour { public float speed; private Vector3 dir; // Use this for initialization void Start () { dir = Vector3.zero; } // Update is ca

嗨,我真的是个新手,需要一些帮助,我想知道如何让我的游戏对象向前跳跃(你握得越久,它就会跳得越远),我的游戏对象上已经有一个刚体了,以防有帮助

public class PlayerScript : MonoBehaviour {

public float speed;

private Vector3 dir;

// Use this for initialization
void Start () 
{
    dir = Vector3.zero;
}

// Update is called once per frame
void Update () 
{
    if (Input.GetMouseButtonDown(0)) 
    {
        if (dir == Vector3.forward)
        {
            dir = Vector3.right;
        }
        else 
        {
            dir = Vector3.forward;
        }

    }

    float AmToMove = speed * Time.deltaTime;
    transform.Translate (dir * AmToMove);
}
到目前为止,我只想让它向前和向右移动,但我希望它向前和向右跳。

公共浮动推力;
public float thrust;
        public Rigidbody rb;
        void Start() {
            rb = GetComponent<Rigidbody>();
        }
        void FixedUpdate() {
            rb.AddForce(transform.up * thrust);
        }
//This will add a force to the rigidbody upwards. 
公共刚体; void Start(){ rb=GetComponent(); } void FixedUpdate(){ rb.附加力(变换向上*推力); } //这将向上向刚体添加一个力。
如果你想用刚体做运动,你应该对它施力。现在只需移动对象的世界变换