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