首先创建一个空物体并reset,命名为shotSpawn把它拖放到player下面成为子物体,这个shotSpawn是子弹实例化出来的的位置。
下面放上相关代码
public GameObject shot;
public Transform shotSpawn
public float fireRate;
public float nextFire;
void Update()
{
if(Input.GetButton("Fire1") && Time.time > nextFire)
//要满足这两个条件才能发射子弹
{
nextFire = Time.time + fireRate;
Instantiate(shot,shotSpawn.location,shotSpawn.rotation);
}
//假设fireRate为5S时,一开始可以发射一次子弹,但是进入if后nextFire的值变为Time.time+5 = 6;所以想发射第二次子弹只能等Time.time >6 才能发射
//在进入游戏时,刚开始有一秒钟是无法按键的,所以time.time是无法被检测到
}
下面放上官方API