




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第Unity查找游戏物体的六种方式详解和上面根据标签查找的逻辑差不多。
GameObject.FindObjectOfType类型:根据类型(组件/自定义脚本)查找并返回这个类。
GameObject.FindObjectsOfType类型():根据类型(组件/自定义脚本)查找当前场景中所有这个类并返回一个这个类的数组。
voidFindObjectOfType()
CameratypeCamera=GameObject.FindObjectOfTypeCamera
Debug.Log("根据类型查找物体,是否查到:"+(typeCamera!=null));
Transform[]typeTransArr=GameObject.FindObjectsOfTypeTransform
for(inti=0;itypeTransArr.Length;i++)
Debug.Log("根据类型查找到的物体名称:"+typeTransArr[i].name);
FindObjectOfType()得出结论:
查找不到禁用物体,使用时需确认要查找的物体是启用(显示)状态;
查找场景中不存在类型时会返回null,不会报错;
通常使用情况为:初始化时在一个脚本中获取另一个脚本的引用,通过这种形式查找。【后多被单例取代】
四,Transform.Find()
查找挂载物体父级,同级,子级物体:
voidTransformFind()
//找父级
Transformparent=transform.Find("Root");
Debug.Log("找父级物体,是否找到:"+(parent!=null));
//找同级
TransformselfObj=transform.Find("Parent_1");
Debug.Log("找同级物体,是否找到:"+(selfObj!=null));
//找子级
Transformchild=transform.Find("Child");
Debug.Log("找子级物体,是否找到:"+(child!=null));
//找子级隐藏物体
TransformchildHide=transform.Find("ChildHide");
Debug.Log("找子级隐藏物体,是否找到:"+(childHide!=null));
找多层级子物体:
//找二级子物体
Transformchild_1=transform.Find("Child_1_1");
Debug.Log("找二级子物体参数只写名称,是否找到:"+(child_1!=null));
//找二级子物体
Transformchild_1_1=transform.Find("Child/Child_1_1");
Debug.Log("找二级子物体参数写全路径,是否找到:"+(child_1_1!=null));
Find()得出结论:
只能找其子物体,不能找其同级或更高层级物体
找子物体时不考虑是否被禁用(隐藏)
找多层子物体时需写全路径(否则即使存在也找不到)
五,Transform.FindObjectOfType()
经过测试和GameObject.FindObjectOfType()没什么区别,测试结果一致,测试代码和截图就不发处理占地方了。
测试时我发现GameObject.FindObjectsOfType类型()和Transform.FindObjectsOfTypeTransform()被合并了,应该说完全是一个方法了,根据下图可以看到,我虽然前打的是Transform的标签,但是它是灰色的,鼠标放上去看到方法引用的却是GameObject.FindObjectsOfType。
得出结论:
Transform.FindObjectOfType()和GameObject.FindObjectOfType()使用方式一样,结果也没有区别…
六,transform.GetChild()
Transform.GetChild()是找子物体的方法,也是我个人比较喜欢用的方式,弊端是不能随意修改游戏物体的层级关系。
使用起来也很简单
比如:找一级子物体的第一个物体
Transformchild1=transform.GetChild(0);
找一级子物体的第一个物体的第三个子物体
Transformchild1=transform.GetChild(0).GetChild(2);
使用方式:几个层级就几个GetChild(),参数就是当前层级的第几个物体(从0开始)
使用拓展:
遍历子物体:
for(inti=0;itransform.childCount;i++)
Debug.Log(transform.transform);
获取当前物体的父物体transform.parent
获取当前物体的根物体transform.root
transform.GetChild()使用总结:
以自身为基础,查找子物体(注意索引从0开始,写多报错)
可以使用trans
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 私人转让汽车合同协议书
- 2024年视听周边设备:耳机项目资金需求报告代可行性研究报告
- 二手车中间人合同协议书
- 2024年力与变形检测仪项目资金申请报告代可行性研究报告
- 品牌项目合同协议书范本
- 楼房出租合同协议书图片
- 合同协议书心得
- 作业托管合同协议书
- 房子主页合同协议书
- 消费安全协议书合同
- 《大气污染物综合排放标准》编制说明
- 2025年教师资格考试高级中学学科知识与教学能力物理试题与参考答案
- 养老机构入住潜在风险告知书1-3-5
- 西华师范大学《景观生态学》2022-2023学年第一学期期末试卷
- 北京四中2025届高一物理第一学期期中经典试题含解析
- 山西煤矸石综合开发利用项目可行性研究报告
- 《剪映专业版:短视频创作案例教程(全彩慕课版)》 课件 第5章 创作城市宣传片
- 手术分级目录(2023年修订)
- 期中 (试题) -2024-2025学年人教PEP版(2024)英语三年级上册
- 企业名称:个人防护用品(PPE)管理规定
- 深圳市业主共有资金监督管理办法
评论
0/150
提交评论