小白_Unity引擎_获取组件和添加组件
Posted ceasarh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白_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 {}
在编辑状态下执行,如果添加脚本的时候添加刚体组件
以上是关于小白_Unity引擎_获取组件和添加组件的主要内容,如果未能解决你的问题,请参考以下文章