当前位置: 首页 > news >正文

【Unity】从父对象中获取子对象组件的方式

1.GetComponentInChildren

用于获取对与指定组件或游戏对象的任何子级相同的游戏对象上的组件类型的引用。

该方法在Unity脚本API的声明格式为:

public T GetComponentInChildren(bool includeInactive = false)

includeInactive参数(可选)表示是否在搜索中包含非活动子游戏对象。

示例用法:

private Image _childImage;private void Awake()
{_childImage = GetComponentInChildren<Image>();
}

要特别注意的是,此方法首先检查调用它的游戏对象,然后使用深度优先搜索向下递归所有子游戏对象,直到找到指定类型的匹配 Component。

因此,如果你要搜索的Component在父对象和子对象都有,那么只会返回父对象的Component

2.GetComponentsInChildren

用于获取对与指定组件相同的游戏对象类型的所有组件以及游戏对象的任何子级的引用。(如果父级也有这个组件,那么也会包含在返回值里面)

该方法在Unity脚本API的声明格式为:

public T[] GetComponentsInChildren(bool includeInactive = false);

includeInactive参数(可选)表示是否在搜索中包含非活动子游戏对象。

示例用法:

using UnityEngine;public class GetComponentsInChildrenExample : MonoBehaviour
{public Image[] images;void Start(){images = GetComponentsInChildren<Image>();}
}

 因此,如果你有一个父对象中只包含一个子对象,父对象和其子对象都有你要搜索的Component,因此第一个方法是解决不了的,怎么办?

解决方案:用第二个方法,从数组下标1开始访问(因为数组下标0指向的是父对象的Component的地址)。

using UnityEngine;public class GetComponentsInChildrenExample : MonoBehaviour
{private Image childImage;void Start(){childImage = GetComponentsInChildren<Image>()[1];}
}

http://www.lryc.cn/news/534117.html

相关文章:

  • 第六届MathorCup高校数学建模挑战赛-A题:淡水养殖池塘水华发生及池水自净化研究
  • webpack【初体验】使用 webpack 打包一个程序
  • <论文>DeepSeek-R1:通过强化学习激励大语言模型的推理能力(深度思考)
  • 公司配置内网穿透方法笔记
  • python爬虫--简单登录
  • 人工智能浪潮下脑力劳动的变革与重塑:挑战、机遇与应对策略
  • ESP32-S3驱动步进电机以及梯形加减速库调用
  • 【CubeMX+STM32】SD卡 文件系统读写 FatFs+SDIO+DMA
  • Kotlin 2.1.0 入门教程(十)if、when
  • AJAX项目——数据管理平台
  • 华为云搭建微信小程序商城后台
  • 5、大模型的记忆与缓存
  • Windows下AMD显卡在本地运行大语言模型(deepseek-r1)
  • 代码随想录day09
  • Racecar Gym 总结
  • 【C++高并发服务器WebServer】-15:poll、epoll详解及实现
  • Visual Studio 2022 中使用 Google Test
  • Office/WPS接入DeepSeek等多个AI工具,开启办公新模式!
  • Meta AI 最近推出了一款全新的机器学习框架ParetoQ,专门用于大型语言模型的4-bit 以下量化
  • 操作系统—进程与线程
  • 团队:前端开发工期参考 / 防止工期不足、过足、工期打架
  • APL语言的云计算
  • idea启动报错# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffccf76e433
  • C++拷贝构造函数与运算符重载应该注意的一个问题?
  • [7] 游戏机项目说明
  • “深入浅出”系列之C++:(20)C++17
  • .net一些知识点5
  • (七)QT——消息事件机制&绘图&文件
  • 【虚幻引擎UE】AOI算法介绍与实现案例
  • python学opencv|读取图像(六十)先后使用cv2.erode()函数和cv2.dilate()函数实现图像处理