解釋:Prefabs(預設)是一種資源類型,可被重復使用的游戲對象。它可以被置入多個場景中,又或者能夠在一個場景中被多次置入。當你在一個場景中增加一個Prefabs,你就實例化了一個Prefabs。所有Prefabs實例都是Prefab的克隆,只要Prefabs原型發生改變,所有的Prefabs實例都會產生變化。
Prefabs的用法:如果大家要創建一些想要重復使用的東西,那么就該用到它了。
接下來我們寫個小例子,看看如何使用它
1 搭建如下場景:一個地板,一個下落的立方體,調整攝像機的角度和位置,加個平行光,位置參考下圖的Scene窗口,效果如Game窗口展示的那樣。同時給立方體加上剛體屬性(Component -> Physics -> Rigidbody)
然后調整一下立方體的角度,運行一下,讓它滾一下。
2 創建Prefabs
在Preject窗口,點Create-> Prefab。然后我們從Hierarchy窗口中將立方體拖到Project窗口新創建的Prefab上。當Hierarchy中的立方體變成了藍色,Prefabs就完成了填充。
然后你從Preject窗口中將創建的Prefabs拖入Scene窗口中,運行一下。就完成了一次克隆。它們就像雙胞胎一樣。
3 接着我們配合Instantiate,來用代碼創建多個Prefabs的實例。
Instantiate:克隆原始物體。設置位置,角度。如果一個對象,組件,腳本實例被傳入。將克隆整個對相愛難過的層次,以及所有子對象。
各位同學,讓我們在Project窗口點Create -> Javascript創建一個腳本
我發現可以用as3的寫法來寫這里面的js,各位同學請看
public var Pre:GameObject;//在編輯器中用來綁定的Prefabs
private function Update ():void
{
var instance:GameObject=Instantiate(Pre,transform.position,transform.rotation);
//Instantiate用法,注意參數
//Pre 用來克隆的Prefabs
//transform.position 腳本綁定對象的位置 就像this.transform….
//transform.rotation 腳本綁定對象的角度 就像this.transform….
}
是不是有很親切的感覺?
4 寫完腳本,我們要把它綁定到一個對象上。這時候,我們可以刪除Hierarchy窗口中的立方體,然后創建一個空的游戲對象(GameObject->Create Empty),放置到原來立方體的位置上。將腳本拖放到Hierarchy窗口中的新鍵的空對象上,讓它來執行代碼。
5 在Hierarchy窗口中單擊空對象,在它的Inspector窗口中就能看到綁定的腳本。然后我們把早前創建的Prefabs拖到腳本Pre右邊的框上,完成了腳本中變量的綁定。
6 按小三角運行一下,搞的像粒子效果一樣,是不是很嗨?
出自blog: http://blog.sina.com.cn/s/blog_82b6aa3d0100w8sx.html
