方法1:
//创建一个数组,在界面那里把预制物体拖进FishPrefab里
public GameObject[] FishPrefab;
//计时器
float timer = 0;
void Update()
{
timer += Time.deltaTime;
//三秒生成一个
if (timer >= 3)
{
//生成预制物体
//Instantiate(,,);第一个参数写随机Random.Range(0, 数组的长度也就是预制物体的个数)],第二个参数写生成的位置,第三个参数写旋转(也可以不旋转Quaternion.identity)
Instantiate(FishPrefab[Random.Range(0, FishPrefab.Length)],new Vector2(-9.5f,Random.Range(10,-8)),Quaternion.identity);
//计时器归零
timer = 0;
}
}
方法2
//在project面板建一个Resources文件夹,注意:名字不要写错,大小写完也是
//把预制体全部放到这个文件夹里,然后给预制体改名,名字后面价格编号,例:fish0,fish1,fish2.....
void Update(){
timer += Time.deltaTime;
if (timer>=2)
{
timer = 0;
//找到预制体
GameObject fishPrefab= Resources.Load<GameObject>("fish"+Random.Range(0,3));
//随机预制体的位置
Vector3 poiont= Camera.main.ViewportToWorldPoint(new Vector3(Random.value,Random.value,-Camera.main.transform.position.z));
//生成预制体
GameObject fish= Instantiate(fishPrefab,poiont,fishPrefab.transform.rotation)as GameObject;
//五秒销毁预制体
Destroy(fish,5);
}
}