unity中獲取組件和物體的幾種方法


1.在代碼中直接public
在代碼中直接public 類型 名稱
然后在unity中賦值
這是最直接但是最不方便的方法 在小的項目中可以
但是在比較大的項目中是不可取的 因為物體組件很多很容易遺漏
從而出現很麻煩的Bug

2.Find方法
在unity中官方提供了一個Find的方法 很方便
這個方法的使用方法是 GameObject.Find(“物體名稱”);
舉個例子

GameObject Cube = GameObject.Find("Cube");
if(Input.GetKeyDown (KeyCode .Space))
        {
            Destroy(Cube);
        }

這些代碼的意思是在unity中尋找一個名字叫Cube的物體
檢測空格鍵的 按下 然后銷毀Cube
很簡單 在unity中不用任何操作 直接掛在任意一個物體上即可(除了要被銷毀的Cube 會報錯)

3.FindWithTag方法

這個方法與上邊類似
用法是 GameObject.FineWithTag(“物體標簽的名稱”);
舉個例子

GameObject Cube = GameObject.FindWithTag("Cube");
if(Input.GetKeyDown (KeyCode .Space))
{
       Destroy(Cube);
}

使用的時候與上邊完全相同
前提是設置標簽 不然沒有查找到就會報錯

在這里我說一下 就是上邊兩個方法
其中查找標簽的方法效率比較高

4.介紹一下組件獲取與取消

在組件的獲取上
我們用一個相同類型的變量 然后獲取該腳本掛在的物體上相應類型的組件
例子

BoxCollider Colider = GetComponent<BoxCollider>();
 Rigidbody rig = GetComponent<Rigidbody>();

等這些
然后取消的話 先獲取 之后

Colider.enabled = false;

注意在unity中組件前邊可以取消的才可以用該方法
沒有的不能使用 比如RigidBody 等

轉載:https://blog.csdn.net/weixin_44302602/article/details/98445497


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM