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

Unity 获取对象的方法

Unity获取对象的方法还是有不少的。

以下是一些我知道的方法。

1、GameObject.Find():这是一种最简单的方法,可以通过对象的名称来查找对象。例如,GameObject.Find("Cube");将返回名称为"Cube"的对象。

2、Transform.Find():可以在一个对象的子对象中查找对象。例如,transform.Find("Cube");将在当前对象的子对象中查找名称为"Cube"的对象。

3、GameObject.FindWithTag():可以通过对象的标签来查找对象。例如,GameObject.FindWithTag("Player");将返回标签为"Player"的对象。

4、GameObject.FindGameObjectsWithTag():与GameObject.FindWithTag()类似,但是它返回所有具有指定标签的对象的数组。例如,GameObject.FindGameObjectsWithTag("Enemy")将返回所有标签为"Enemy"的对象的数组。

5、Transform.FindGameObjectsWithTag():与GameObject.FindGameObjectsWithTag()类似,但是它在一个对象的子对象中查找具有指定标签的对象,并返回对象的数组。

6、GameObject.FindObjectOfType<T>():在场景中查找指定类型的第一个对象。如:
MyComponent component = GameObject.FindObjectOfType<MyComponent>();将返回场景中第一个找到MyComponent对象的对象。


7、GameObject.FindObjectsOfType<T>():可以查找指定类型的所有对象。例如,GameObject.FindObjectsOfType<Enemy>()将返回场景中所有类型为Enemy的对象。

8、Transform.GetChild(int index):可以通过索引来查找子对象。在当前Transform的子级中按索引查找对象,索引从0开始,表示第一个子级。例如,transform.GetChild(0)将返回当前对象的第一个子对象。

9、Resources.FindObjectsOfTypeAll<T>():可以在整个项目中查找对象,包括预制件和资源文件夹中的对象。例如,Resources.FindObjectsOfTypeAll<Texture>()将返回场景中所有的纹理对象。

10、GetComponent<T>():可以获取指定组件类型的对象。如:Rigidbody rb = GetComponent<Rigidbody>();

11、GetComponentInChildren<T>():获取当前对象及其子对象中的第一个具有指定组件类型的对象。

12、GetComponents<T>():获取当前对象上所有具有指定组件类型的对象,并返回一个数组。

13、GetComponentInParent<T>():获取当前对象及其父对象中的第一个具有指定组件类型的对象。

14、GetComponentsInChildren<T>():获取当前对象的所有子对象上的指定类型的组件,假如条件符合会包括本身。

15、TryGetComponent<T>(out T component):尝试获取当前对象上的指定组件类型,并将结果存储在component变量中。如果获取成功,返回true,否则返回false。
 

相关文章:

  • 饥饿加载与懒加载的区别
  • 【力扣:1504】统计全1子矩阵
  • 物奇平台耳机复位功能实现
  • 简述 HTTP 请求的过程是什么?
  • 哪款手机便签软件支持存储录音文件并支持转文字?
  • 快速搭建PHP管理后台
  • ipad可能会在iOS 16中失去智能家居中心功能
  • 学习c#的第三天
  • 快速搭建开源分布式任务调度系统DolphinScheduler并远程访问
  • 开发知识点-NodeJs-npm/Pnpm/Vite/Yarn包管理器
  • [AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]
  • SQLI手动注入和python sqlmap代码注入
  • 大数据毕业设计选题推荐-超级英雄运营数据监控平台-Hadoop-Spark-Hive
  • 使用【Python+Appium】实现自动化测试
  • HBase学习笔记(1)—— 知识点总结
  • [笔记] php常见简单功能及函数
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • CentOS 7 修改主机名
  • ERLANG 网工修炼笔记 ---- UDP
  • Javascript弹出层-初探
  • JWT究竟是什么呢?
  • Mocha测试初探
  • PHP 的 SAPI 是个什么东西
  • PHP那些事儿
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • SpringCloud集成分布式事务LCN (一)
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 记录:CentOS7.2配置LNMP环境记录
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 坑!为什么View.startAnimation不起作用?
  • 马上搞懂 GeoJSON
  • 批量截取pdf文件
  • 前端性能优化--懒加载和预加载
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 我建了一个叫Hello World的项目
  • 用element的upload组件实现多图片上传和压缩
  • 国内开源镜像站点
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (1)常见O(n^2)排序算法解析
  • (16)Reactor的测试——响应式Spring的道法术器
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (论文阅读11/100)Fast R-CNN
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .aanva
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET 解决重复提交问题