unity 多个预制体的时候,随机生成某个预制物体

方法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);

}

}

 

 

 

 

 

 

posted @ 2017-02-08 18:43  咸鱼翻身记  阅读(15873)  评论(0编辑  收藏  举报