左边控制坦克方向没有问题,右边控制炮管方向也没有问题,但是我用它的joystick.onTouchStart.AddListener(FireInterval);来控制发射子弹就有问题,手册上说这个只运行一次,但是为什么我的会一下子生成几百个子弹。我的代码如下,请问老师哪里出错了?
joystick是一右摇杆。
void Updata()
{joystick.onTouchStart.AddListener(FireInterval);}
//控制间隔
public void FireInterval()
{
if (fireVal >= 2)
{
Debug.Log("发射子弹");
CmdFire();
}
else
{
fireVal += Time.deltaTime;
}
}
//发射子弹
[Command]
public void CmdFire()
{
GameObject bullet = Instantiate(bulletPrefab, bulletSpawn.position, bulletSpawn.rotation) as GameObject;
bullet.GetComponent<Rigidbody>().velocity = bullet.transform.forward * bulletSpeed*Time.deltaTime;
Destroy(bullet, 2.0f);
fireVal = 0;
NetworkServer.Spawn(bullet);//在服务器出生
}