Unity C#如何移动球体

时间:2017-05-04 13:22:22

标签: c# unity3d

我是Unity的新手。我在制作FPS射击游戏时遇到了困难。这是我在Ammo预制件中的代码:

public class Ammo : MonoBehaviour {
    public GameObject obj ;
    // Use this for initialization
    void Start () {
        obj= GameObject.FindGameObjectWithTag ("Player");
    }

    // Update is called once per frame
    void Update () {
        transform.Translate (obj.transform.forward* Time.deltaTime);
    }
    void OnCollision(Collider coll)
    {
        if (coll.tag != "Player")
            Destroy (gameObject);
    }
}

在FPS中:

public class FPS : MonoBehaviour {
    public GameObject Ammo;
    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
        if (Input.GetButtonDown("Fire1"))
        {
            Instantiate(Ammo, transform.position,transform.rotation);
        }
    }

}

但是当我射击时球体随机向。 (当我向前看时它会上升)。有没有人帮助我。我是Unity的新手。

1 个答案:

答案 0 :(得分:2)

子弹不是随机方向。这取决于你的球员位置。首先,你应该从玩家相机 NOT FROM PLAYER中提取矢量。因为你想拍摄你看的方向(相机)。