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