Unity代码小知识3

本文主要探讨Unity引擎中的一些实用代码技巧,包括优化、组件交互和游戏对象管理等方面,旨在提升开发效率和游戏性能。
摘要由CSDN通过智能技术生成

寻找目标Transform


	/// <summary>
	///	查找根Transform(组件)下的目标Transform,返回布尔值
	/// 递归查找
	/// </summary>
	/// <param name="Root">		根Transform		</param>
	/// <param name="Objective">	目标Transform	</param>
	/// <param name="setTransform">		需要赋值的Transform		</param>
	/// <returns>	返回bool值	</returns>
	bool IsRootFind(Transform Root, string Objective, out Transform setTransform)
	{
		//根与目标相同
		if (Root.name == Objective)
		{
			setTransform = Root;	//修改out变量
			return true;		//返回为真
		}
		//循环遍历子transform
		//foreach (Transform n in Root)	n不会遍历到孙子	
		foreach (Transform n in Root)
		{
			//调用自己,以自己的子Transform为根
			//判断子transform下是否存在
			if (IsRootFind(n, Objective, out setTransform))
			{
				return true;//返回为真(找到的时候已经修改为out变量,此处无需修改)
			}
		}
		//所有子与孙都未找到
		setTransform = null;	//修改out为空
		return false;		//返回为空
	}

	bool IsRootFind(Transform Root, Transform Objective)
    {
		if(Root == Objective)
        {
			return true;
		}
		foreach (Transform n in Root)
		{
			if (IsRootFind(n, Objective))
            {
				return true;
			}
		}
		return false;
	}

	bool IsRootFind(Transform Root, string Objective)
	{
		if (Root.name == Objective)
		{
			return true;
		}
		foreach (Transform n in Root)
		{
			if (IsRootFind(n, Objective))
			{
				return true;
			}
		}
		return false;
	}

	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值