#一,、描述
預設體就是一個模版,比如可以先設計一個怪物,,他皮膚,,有技能,有屬性,,當你之后需要進行生成多個怪物的時候,,就可以運用這個預設體進行生成,他們的屬性,腳本皮膚都自帶著生成出來了
#二,、使用說明
生成預設體,,比如你創(chuàng)建了一個cube,就可以直接把cube拉到project面板當中,,他就會自動成為一個預設體,,怎么判斷是否是預設體,你看他的圖標如果是一個藍色的方塊的話,,他就是一個預設體
怎么使用預設體,?直接把預設體拉入到界面上去,他就會自動生成了,。
當預設體的顏色或者屬性更改時,所有根據(jù)預設體生成出來的游戲?qū)ο?,他們的屬性都會跟隨著預設體進行變化
隨便選擇一個預設體,,他的屬性面板的Prefab有3個選項卡可以選擇。
1 Select就是選中生成你這個游戲?qū)ο蟮哪莻€預設體,,在project面板顯示
2 Revert就是當你把此游戲?qū)ο蟮膶傩宰孕懈暮?,會恢復到預設體默認的屬性
3 Apply是讓此對象的屬性作為預設體的基礎默認屬性
#三、根據(jù)預設體動態(tài)生成游戲?qū)ο?nbsp;
// Update is called once per frame
void Update () {
if (Input.GetKeyDown (KeyCode.P)) {
//生成一個隨機的Vector向量
Vector3 vector3 = new Vector3 ();
vector3.y = 0.5f;
vector3.x = Random.Range (-5,5);
vector3.z = Random.Range (-5, 5);
//生成一個隨機的旋轉(zhuǎn)角度
float angle = Random.Range (0, 360);
//運用Instantiate方法動態(tài)生成一個游戲?qū)ο?,返回值為生成后的游戲?qū)ο? //1 需要生成的游戲預設體 2 生成后的游戲?qū)ο笪恢米鴺? 3 是否需要進行旋轉(zhuǎn)或者其他操作
GameObject game = Instantiate (gameobject,vector3,Quaternion.AngleAxis(angle,Vector3.left)) as GameObject;
//根據(jù)返回的生成后的游戲?qū)ο?,設置他的高度縮放為隨機1 - 5
Transform transform = game.transform;
transform.localScale = new Vector3 (transform.localScale.x, Random.Range (1f, 5f), transform.localScale.z);
}
}
復制代碼