Unity 5如何发射子弹

时间:2016-02-04 22:12:13

标签: c# unity3d unity5

我一直在研究这段代码,我似乎无法弄明白。当我点击游戏而不是去鼠标位置时,它会将我的子弹从远处抛到100到300之间。

using UnityEngine;
using System.Collections;

public class Shoot : MonoBehaviour {

     public GameObject Player;
     public GameObject Bullet;

     void Update() 
     {
          bool Shot = false;
          if(Input.GetMouseDown(0) && Shot == false)
          {
             Shot = true;
          }

          if (Shot == true)
          { 
            float x = Player.transform.position.x;
            float z = Player.transform.position.z;
            Instantiate(Bullet, new Vector3(x, 0.5f, z)), Quaternion.identity);
            x = Input.mousePosition.x;
            z = Input.mousePosition.z;
          }
     }
}

1 个答案:

答案 0 :(得分:0)

这段代码对我来说没什么意义;您只需在最后一个鼠标位置(在屏幕上,而不是3D世界中)实例化一个Gameobject,并且您不会对它施加任何力。请查看this主题(您可能想使用Gun_Physical脚本)。