小白_Unity引擎_獲取組件和添加組件
阿新 • • 發佈:2018-07-06
length 組件 通過 class 獲取 添加 mes 添加組件 {}
1 #region 獲取組件 2 //1.通過泛型的方式獲取組件 3 BoxCollider bc = gameObject.GetComponent<BoxCollider>(); 4 gameObject.GetComponent<MeshRenderer>().material.color = Color.red; 5 6 //2.腳本也是組建可以同樣的方法獲取 7 NewBehaviourScript ns = gameObject.GetComponent<NewBehaviourScript>();8 9 //3.從物體本身或者其子物體(兒子,孫子,重孫子)中獲取單個或多個組件(或腳本) 10 MeshRenderer ms = gameObject.GetComponentInChildren<MeshRenderer>(); 11 ms.material.color = Color.blue; 12 //獲取子物體組件列表(包括物體本身以及下面的所有子物體) 13 MeshRenderer[] mrs = gameObject.GetComponentsInChildren<MeshRenderer>();14 15 16 //3.從父類物體中獲取單個或多個組件或腳本(包括物體本身,其父類物體(父類,爺爺,祖宗) 17 MeshRenderer mr = gameObject.GetComponentInParent<MeshRenderer>(); 18 //獲取父類中組件列表 19 MeshRenderer[] mres = gameObject.GetComponentsInParent<MeshRenderer>(); 20 int count = mres.Length; 21 2223 24 #endregion
添加組件:
1.動態添加組件
1 //動態添加相關的組件或者腳本 2 Rigidbody rb = gameObject.AddComponent<Rigidbody>();
2.通過擴展編輯器添加組件[RequireComponent]
註意:擴展編輯器所執行的代碼一定是在編輯器狀態下的
例如要添加剛體組件Rigidbody
[RequireComponent(typeof(Rigidbody))] 在掛載腳本時候添加剛體,不是在執行時候添加的 public class NewBehaviourScript2 : MonoBehaviour {}
在編輯狀態下執行,如果添加腳本的時候添加剛體組件
小白_Unity引擎_獲取組件和添加組件