Unity GameObject常用屬性及操作
阿新 • • 發佈:2019-02-19
使用指令碼來呼叫遊戲物件的方式有兩種:
一、將指令碼繫結在一個遊戲物件上;
二、在程式碼中動態繫結指令碼和刪除指令碼。
任何一個遊戲物件都可以同時繫結多條遊戲指令碼,並且這些指令碼互不干涉,各自完成各自的生命週期。
用程式碼建立一個遊戲物件
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文件
如有錯誤請大家指出,共同學習