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

來源:互聯網
上載者:User

標籤:

解釋: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

{

       varinstance:GameObject=Instantiate(Pre,transform.position,transform.rotation);

       //Instantiate用法,注意參數

       //Pre  用來複製的Prefabs

       //transform.position  指令碼綁定對象的位置就像this.transform….

       //transform.rotation  指令碼綁定對象的角度就像this.transform….

}

是不是有很親切的感覺?

4寫完指令碼,我們要把它綁定到一個對象上。這時候,我們可以刪除Hierarchy視窗中的立方體,然後建立一個空的遊戲對象(GameObject->CreateEmpty),放置到原來立方體的位置上。將指令碼拖放到Hierarchy視窗中的新鍵的Null 物件上,讓它來執行代碼。

5在Hierarchy視窗中單擊Null 物件,在它的Inspector視窗中就能看到綁定的指令碼。然後我們把早前建立的Prefabs拖到指令碼Pre右邊的框上,完成了指令碼中變數的綁定。

6 按小三角運行一下,搞的像粒子效果一樣,是不是很嗨?

 

出自blog: http://blog.sina.com.cn/s/blog_82b6aa3d0100w8sx.html

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.