1. 程式人生 > >Unity GameObject物件的幾個重要方法

Unity GameObject物件的幾個重要方法

前端開發的認識就是學習物件的API方法。而不是像我們在在最開始學習C#語言一樣,大部分都是自己實現的。很好的體現了面向物件的精髓。
在Unity開發中我們使用最多的物件,莫過於GameObject類了。這裡簡單的寫了一些GameObject類中的一些方法案例,也會在後續中慢慢補充。
首先是建立物件:
建立物件有很多的方式Unity主要支援:
1.通過GameObject選單欄中建立
2.通過程式碼的建立
3.從資源中拖拉進場景中

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

獲取遊戲物件
GameObject.Find 查詢static GameObject Find (string name) 找到並返回一個名字為name的遊戲物體
GameObject.FindGameObjectsWithTag 查詢相同標籤的遊戲物體列表
GameObject.FindGameObjectWithTag 查詢相同標籤的遊戲物體

刪除遊戲物件
當不需要遊戲物件的時候我們可以刪除遊戲物件

以下是相關的程式碼:

using UnityEngine;
using System.Collections;

public class FindGameObject : MonoBehaviour {

    Time timer;
    float
f = 3; GameObject cloneGameObject; // Use this for initialization void Start () { //通過名字查詢物件 GameObject obj1 = GameObject.Find("Player1"); GameObject obj2 = GameObject.Find("Player2"); print(obj1.name); print(obj2.name); //通過標籤查詢物件 GameObject cubeObj = GameObject.FindGameObjectWithTag("cube1"
); print(cubeObj.name); //克隆一個物體 cloneGameObject = GameObject.Instantiate(cubeObj); //給克隆的物體新增一個名字 cloneGameObject.name = "my_sphere"; //給克隆的物體新增一個名字 cloneGameObject.transform.position = new Vector3(0,0,1); //給克隆的物體材質球跟換一個顏色 cloneGameObject.GetComponent<Renderer>().material.color = new Color(120,146,234); //是否啟用一個物體 啟用的狀態是顯示出來的 //可以通過設定true或者false用來隱藏或者顯示一個物體 //cloneGameObject.SetActive(true); //通過程式碼建立一個物體 GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); sphere.transform.position = new Vector3(2,2,2); } // Update is called once per frame void Update () { //3秒後讓一個物體消失 f -= Time.deltaTime; if (f < 0) { Destroy(cloneGameObject); } } }