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

}

}

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM