天天看點

Prefabs(預設)與 Instantiate(執行個體化)

Prefabs(預設)是一種資源類型,可被重複使用的遊戲對象。它可以被置入多個場景中,又或者能夠在一個場景中被多次置入。當你在一個場景中增加一個Prefabs,你就執行個體化了一個Prefabs。所有Prefabs執行個體都是Prefab的克隆,隻要Prefabs原型發生改變,所有的Prefabs執行個體都會産生變化。

例如在做射擊類的遊戲時,在Hierarchy 視圖中建立了子彈模型Rockety ,由于子彈要重複使用這時你就需要在Project視圖中建立一個 Prefabs來存放子彈。這時你隻需将子彈模型拖向Prefabs 然後删除 Hierarchy視圖中的子彈模型。

Prefabs(預設)與 Instantiate(執行個體化)
Prefabs(預設)與 Instantiate(執行個體化)

2. 建立完子彈以後,你要關聯角色物體(例如飛機),這時需要用到Instantiate

Instantiate:克隆原始物體。設定位置,角度。如果一個對象,元件,腳本執行個體被傳入。将克隆整個對相愛難過的層次,以及所有子對象。

static function Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object

這是其中一個打飛機,飛機發射子彈膽碼

//按下空格鍵或者滑鼠左鍵發射子彈

if(Input.GetKey(KeyCode.Space) || Input.GetMouseButton (0) )

{

Instantiate (m_rocket,m_transform.position,m_transform.rotation);

//unity 的遊戲體智能使用 Instantiate 函數執行個體化,不能使用 new

}

本文出自 “紫金飛俠雷” 部落格,轉載請與作者聯系!

U3D