小白_Unity引擎_獲取組件和添加組件


 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 
22 
23 
24         #endregion

 

添加組件:

1.動態添加組件

 1 //動態添加相關的組件或者腳本 2 Rigidbody rb = gameObject.AddComponent<Rigidbody>(); 

 

2.通過擴展編輯器添加組件[RequireComponent]

  注意:擴展編輯器所執行的代碼一定是在編輯器狀態下的

  例如要添加剛體組件Rigidbody

        [RequireComponent(typeof(Rigidbody))]  在掛載腳本時候添加剛體,不是在執行時候添加的
        public class NewBehaviourScript2 : MonoBehaviour {}

    在編輯狀態下執行,如果添加腳本的時候添加剛體組件

 


免責聲明!

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



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