1. 程式人生 > >Unity GameObject常用屬性及操作

Unity GameObject常用屬性及操作

使用指令碼來呼叫遊戲物件的方式有兩種:
一、將指令碼繫結在一個遊戲物件上;
二、在程式碼中動態繫結指令碼和刪除指令碼。
任何一個遊戲物件都可以同時繫結多條遊戲指令碼,並且這些指令碼互不干涉,各自完成各自的生命週期。

用程式碼建立一個遊戲物件

GameObject.CreatePrimitive(PrimitiveType.Cube);

克隆遊戲物件從效率上講,克隆一個物件要比建立一個物件效率要高。常用於一些完全相同並且數量龐大的遊戲物件,比如發射的子彈物件,每一顆子彈物件是完全一樣的,每一次發射子彈都會克隆一個子彈物件,並且讓克隆的子彈物件完成自己的生命週期。

這實際上在Unity和使用複製(ctrl+D)命令是一樣的。如果一個遊戲物體,綁定了元件或指令碼,將克隆整個遊戲物體層次,以及所有子物件也會被克隆。所有遊戲物體被啟用。

程式碼克隆一個物件

GameObject.Instantiate(template);
//  例項化物件
      GameObject cloneGameObject=  GameObject.Instantiate(template);
//修改克隆物件的名稱
      cloneGameObject.name="my_sphere";

啟用或者關閉物件

//   啟用物件
//      SetActive(true);
//   關閉物件
//      SetActive(false);

查詢遊戲物件

GameObject.Find 查詢static GameObject Find (string name) 找到並返回一個名字為name的遊戲物體。如果以name為名字的遊戲物體沒有被找到,則返回空

//通過名稱查詢物件
      capsule = GameObject.Find("Capsule");

查詢遊戲物件的標籤

GameObject.FindWithTag 查詢標籤static GameObject FindWithTag (string tag)返回一個用tag做標識的活動的遊戲物體,如果沒有找到則為空。標籤必須在使用之前到標籤管理器裡面宣告

//通過標籤查詢物件
      capsule =GameObject.FindGameObjectWithTag("people");

修改物件標籤

capsule.tag="people3";

銷燬遊戲物件

GameObject.Destroy
Destroy(gameObject);

以上為常用的一些操作,更多可以自行查閱API文件

如有錯誤請大家指出,共同學習