我對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