02、在层级未知情况下通过递归查找子物体

news/2024/7/16 8:24:16

1、在在层级未知情况下通过递归查找子物体 ,这个主要是用于UI的的层级查找中

2、代码:

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 
 5 public class EnemyManager : MonoBehaviour
 6 {
 7 
 8     private  GameObject t;
 9     private  string name_1 = "Cube_05";
10     private void Start()
11     {
12         t = FindChildByName(this.gameObject,name_1);
13          print(t.name);
14     }
15 
16     /// <summary>
17     /// 在不知道层级的情况下,查找指定名字的子物体
18     /// </summary>
19     /// <param name=""></param>
20     /// <returns></returns>
21     public  GameObject FindChildByName(GameObject parent, string childName)
22     {
23         if (parent.name == childName)        //如果要查找的就是这个物体本身
24         {
25             return parent;
26         }
27         if (parent.transform.childCount < 1)   //如果要查找的物体孩子数量为0,则跳出方法,进行下一个判定
28         {
29             return null;     
30         }        
31         GameObject obj = null;
32         for (int i = 0; i < parent.transform.childCount; i++)
33         {
34             GameObject go = parent.transform.GetChild(i).gameObject;            
35             obj = FindChildByName(go, childName);   //进行递归的调用,递归查找
36             if (obj != null)
37             {
38                 break;
39             }
40         }
41         return obj;
42     }
43 }

 3、工具:

  可以将这个方法提取出来一个工具类来进行使用,因为后续实用性挺强的。

转载于:https://www.cnblogs.com/zhh19981104/p/9572769.html


http://www.niftyadmin.cn/n/2747036.html

相关文章

读卡购票c语言程序,基于51单片机的c语言韦根卡读卡程序 门禁系统

/******************************************************************************** 文件名称&#xff1a;Wiegand.c* 说明&#xff1a;本文件为韦根卡读卡程序。* 功能&#xff1a;实现对韦根卡的识别* 修改&#xff1a;无* 版本&#xff1a;1.0.0* 作者&#xff1a;YuanDo…

LeetCode--100--相同的树

问题描述&#xff1a; 给定两个二叉树&#xff0c;编写一个函数来检验它们是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1: 输入: 1 1/ \ / \2 3 2 3[1,2,3], [1,2,3]输出: true 示…

甘肃电大c语言考试题答案,2017年电大C语言程序设计期末考试复习题及答案.doc...

C语言考试期末考试复习题及答案选择题一个C语言程序总是从( )开始执行书写顺序的第一个函数书写顺序的第一条执行语句主函数main( )不确定设int x3&#xff0c;y4&#xff0c;z5&#xff0c;则下列表达式中的值为0的是 ( )A) ‘x’&&’y’B) x||yz&&y-z C) x&l…

关于闭包即双层装饰器的理解

** 闭包**&#xff1a;就是一个概念&#xff0c;出现在嵌套函数中&#xff0c;指的是内层函数引用到了外层函数的**自由变量**(未在本地作用域中定义的局部变量)&#xff0c;就形成了闭包。函数的局部作用域是不能够保存信息的&#xff0c;即在函数内部声明变量在函数调用结束之…

(转) 网站统计中的数据收集原理及实现

原文地址&#xff1a;http://blog.codinglabs.org/articles/how-web-analytics-data-collection-system-work.html 网站数据统计分析工具是网站站长和运营人员经常使用的一种工具&#xff0c;比较常用的有谷歌分析、百度统计和腾讯分析等等。所有这些统计分析工具的第一步都是网…

c语言程序设计 对单词排序,C语言课程设计英语词典排版系统.doc

C语言课程设计院系&#xff1a;姓名&#xff1a;学号&#xff1a;班号&#xff1a;指导教师&#xff1a;日期&#xff1a;2010年9月第一部分1.设计题目&#xff1a;一种简单份的英文词典排版系统2实践目的通过进行计算机实践&#xff0c;更加系统地理解和掌握C语言的基本概念、…

Docker学习——Kubernetes(八)

2019独角兽企业重金招聘Python工程师标准>>> 在线阅读&#xff1a;GitBook 下载&#xff1a;pdfKubernetes 是 Google 团队发起并维护的基于 Docker 的开源容器集群管理系统&#xff0c;它不仅支持常见的云平台&#xff0c;而且支持内部数据中心。 建于 Docker 之上…

c语言数据类型和运算符,C语言基础知识——数据类型和运算符.doc

C语言基础知识——数据类型和运算符C语言慨述1.标识符C 规定&#xff0c;标识符只能是字母数字、下划线组成的字符串&#xff0c;并且其第一个字符必须是字母或下划线。在使用标识符时还必须注意以下几点&#xff1a;(1)标准C不限制标识符的长度&#xff0c;但它受各种版本的C …