我对Unity 5完全陌生,在使用教程中的代码拍摄枪时遇到问题。这里是我的代码:Unity中单击按钮时发生太多事件(使用鼠标单击复制子弹时)
static var ammo = 30;
var key : String = "mouse 0";
var speed : float = 100;
static var maxAmmo = 30;
var bullet : Rigidbody;
var dmg : float = 20;
function Update()
{
if(Input.GetKeyDown(key)){
if(ammo > 0){
Shoot();
}
}
}
function Shoot() {
var bullet1 : Rigidbody = Instantiate(bullet, transform.position, transform.rotation);
bullet1.AddForce(transform.forward * speed);
ammo --;
}
function OnGUI(){
GUI.Label(Rect(10,10,500,500), ""+ammo);
}
function OnTriggerEnter(hit:Collider){
if(hit.tag == "Enemy"){
hit.transform.SendMessage("Damage",dmg);
}
}
当我运行这段代码,子弹的克隆出现数倍(甚至高达8发子弹出现几乎瞬间),来说明:
首先点击 - >子弹(克隆)
下一页点击 - >子弹(克隆),子弹(克隆)(克隆)
下一个点击 - >子弹(克隆),子弹(克隆)(克隆),子弹(克隆)(克隆)(克隆)
任何人都可以帮忙吗?谢谢
为了澄清,您是否希望用鼠标单击来触发多个镜头,但速度较低,或者每次点击鼠标只触发一颗子弹? – Serlite
你是说第一次点击就得到一颗子弹,第二次点击得到两颗子弹等等? – user3071284
我只需要每次点击一次。 – Luke