当前位置:   article > 正文

Unity脚本API—Component组件_getcomponents

getcomponents

 常用方法:

    GetComponent:获取当前物体其他组件类型的引用。
    GetComponents:获取当前物体所有组件引用。
    GetComponentsInChildren:查找指定类型组件(从自身开始,并搜索所有后代)
    GetComponentInChildren:查找指定类型组件(从自身开始,并搜索所有后代,查找到第一个满足条件则结束)
    GetComponentsInParent:查找指定类型组件(从自身开始,并搜索所有先辈)

 代码如下:

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. /// <summary>
  5. /// Component 类 提供了查找组件的功能(从自身、从后代、从先辈)组件的功能
  6. /// </summary>
  7. public class ComponentDemo : MonoBehaviour
  8. {
  9. private void OnGUI()
  10. {
  11. if (GUILayout.Button("transform"))
  12. {
  13. this.transform.position = new Vector3(0,0,10);
  14. }
  15. if (GUILayout.Button("GetComponent"))
  16. {
  17. this.GetComponent<MeshRenderer>().material.color = Color.red;
  18. }
  19. if (GUILayout.Button("GetComponents"))
  20. {
  21. //获取当前组件
  22. var allComponent = this.GetComponents<Component> ();
  23. foreach (var component in allComponent)
  24. {
  25. Debug.Log(component.GetType());
  26. }
  27. }
  28. if (GUILayout.Button("GetComponentsInChildren"))
  29. {
  30. //获取后代物体的指定类型组件(从自身开始)
  31. var allComponent = this.GetComponentsInChildren<MeshRenderer>();
  32. foreach (var component in allComponent)
  33. {
  34. component.material.color = Color.red;
  35. }
  36. }
  37. if (GUILayout.Button("GetComponentsInParent"))
  38. {
  39. //获取先辈物体的指定类型组件(从自身开始)
  40. var allComponent = this.GetComponentsInParent<MeshRenderer>();
  41. foreach (var component in allComponent)
  42. {
  43. component.material.color = Color.red;
  44. }
  45. }
  46. }
  47. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/125577
推荐阅读
相关标签
  

闽ICP备14008679号