我想發(fā)射子彈,點擊鼠標生成一顆,點一下生成一顆,而且每生成一顆,程序就會自動計數(shù),結果變成點一下,所有的子彈都一分二位,但是子彈數(shù)只加1#pragma strictfunction Start () {}var newobject:Transform;var shedanshu:int=0;function Update () {if(Input.GetButtonDown("Fire1")){var n:Transform=Instantiate(newobject,transform.position,transform.rotation);var fwd:Vector3=transform.TransformDirection(Vector3.forward);n.rigidbody.AddForce(fwd*2800);shedanshu++;gameObject.Find("gt").GetComponent(GUIText).text="射彈數(shù)"+shedanshu;}}java語言
1 回答

catspeake
TA貢獻1111條經驗 獲得超0個贊
你這個newobject傳遞進來絕對是個名稱為sedan(clone)的物體,實例化的時候是會在prefeb名稱后加上(clone)的,你只要自己命名一下就可以了,n.name = "sedan",那么顯示的物體名就是sedan了,然后你這個代碼是放在Update里面的,所以在執(zhí)行按鍵響應的時候會同時生成多個子彈,然后子彈有rigidbody,所以碰撞彈開讓你有一分為二的感覺,所以你需要加上子彈釋放CD。利用Timer.delTime來做。順便說下,你這是javascript 不是java
var time = 0;
function Update()
{
time +=Timer.delTime;
if(Input.GetButtonDown("Fire1")){
if(time > 1)
{
time = 0;
doCreatSedan();
}
}
}
添加回答
舉報
0/150
提交
取消