2016-02-04 70 views
-2

我一直在研究这段代码一段时间,但我似乎无法弄清楚。当我在比赛中单击而不是去鼠标posistion它抛出我的子弹远通常从任何地方到100至300Unity 5如何发射子弹

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

请从您的帖子中删除“谢谢”/“new here”文本(迄今为止所有无码文本),并将您尝试的内容替换为解释内容,以及它如何工作。 –

+2

当你实际完成自己的代码时会发生什么?..?你甚至使用调试器..?我通常会通过拉动我的'PX4-Storm'的触发器来发射子弹,请修改标题 – MethodMan

+0

是的,但它通常会让我的子弹x等于三百 –

回答

0

此代码没有多大意义了我。您只需在最后一个鼠标位置(在屏幕上,而不是在3D世界中)实例化一个GameObject,并且不对其施加任何力。请看看this线程(你可能想使用Gun_Physical脚本)。