Gameobject.Find和Transform.Find应用区别
using UnityEngine;
using System.Collections;
public class test : MonoBehaviour
{
private GameObject root;
private GameObject aa;
private GameObject tt;
private GameObject w;
void Start()
{
//父物体root物体没有被隐藏
root = GameObject.Find("Canvas");
Debug.LogError(root.name);
//root下的子物体aa是隐藏的
aa = root.transform.Find("AA").gameObject;
Debug.LogError(aa.name);
//父物体tt物体没有被隐藏
tt = GameObject.Find("TT");
//tt下的子物体w是隐藏的
w = tt.transform.FindChild("W").gameObject;
Debug.LogError(w.name);
}
}
总结:
GameObject.Find
使用规范:
1.无法查找隐藏对象 ,
隐藏对象包括查找路径的任何一个父节点隐藏(active=false)。
2.如果查找不在最上层,建议合理使用路径查找,路径越精确查找越快。
3.如果路径查找中的任何一个父节点active=false,这个对象都将查找不到。
Transform.Find
1.可以查找隐藏对象 。
2.支持路径查找 。
3.查找隐藏对象的前提是transform所在的根节点必须可见,即active=true。
其他查找
GameObject.FindWithTag 查找标签
返回一个用tag做标识的活动的游戏物体,如果没有找到则为空。标签必须在使用之前到标签管理器里面声明。
GameObject.FindGameObjectsWithTag 查找标签的游戏物体列表
返回一个用tag做标识的活动的游戏物体的列表.如果没有找到则为空。标签必须在使用之前到标签管理器里面声明。
Resources.FindObjectsOfTypeAll 查找所有类型的物体
返回一个物体类的类型或从type派生的数组。返回Type类型的所有物体的一个列表。这个函数可以返回加载的Unity物体的任意类型,包含游戏物体、预设、材质、网格、纹理等等。它也会列出内部的东西,因此,请格外小心处理返回的物体的方式。相反Object.FindObjectsOfType这个函数也会列出禁用的对象。请注意这个函数非常慢,不推荐在每帧中使用。
Object.FindObjectOfType 查找首个Type物体
返回Type类型第一个激活的加载的物体。请注意这个函数是非常慢的。不推荐在每帧使用这个函数,大多数情况下你可以使用单例模式代替。
Object.FindObjectsOfType 查找Type物体
返回Type类型的所有激活的加载的物体列表。它将返回任何资源(网格,纹理,预设,...)或未激活的物体。请注意这个函数是非常慢的。不推荐在每帧使用这个函数,大多数情况下你可以使用单例模式代替。
Gameobject.Find和Transform.Find应用区别的更多相关文章
- GameObject.Find与Transform.Find的区别
1.GameObject.Find 函数原型: public static GameObject Find(string name); 说明:1.GameObject只能查找到active的物体 2. ...
- zoom和transform:scale的区别
小tips: zoom和transform:scale的区别 这篇文章发布于 2015年11月3日,星期二,00:52,归类于 css相关. 阅读 7876 次, 今日 8 次 by zhangxin ...
- vector3.forward和transform.forward的区别!
http://blog.163.com/bowen_tong/blog/static/20681717420146654927791/ vector3.forward和transform.forwar ...
- css中zoom和transform:scale的区别
css中zoom和transform:scale的区别 关于zoom: 以前只是看到别人的代码中用过zoom,自己从未使用过,今天在探究ie7兼容inline-block时,发现里面提到了zoom.下 ...
- 【Unity3D游戏开发】GameObject.Find()、Transform.Find查找隐藏对象 (十)
GameObjectFindTransformFind查找游戏对象 前置条件 相关API 1 GameObjectFind 2 TransformFind 3 其他查找 实际测试 即使隐藏root节点 ...
- Unity3d vector3.forward和transform.forward的区别!
原文连接: http://blog.csdn.net/kaluluosi111/article/details/17206655 在unity3d中有2个forward,一个是vector3.forw ...
- 小tips: zoom和transform:scale的区别
小tips: zoom和transform:scale的区别 转自 张鑫旭 前端大神 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://w ...
- gameObject, vector and transform
调用其它组件中成员 通过GameObject(游戏物体). Base class for all entities in Unity scenes. 是Unity场景里面所有实体的基类. 可以理解为 ...
- zoom和transform:scale()的区别
zoom和transform:scale()都可以用于缩放,目前移动端存在各种各样不同屏幕大小的手机,为了兼容不同宽度的屏幕,我们可以基于某一屏幕宽度大小(比如iPhone5的320,这个根据设计稿来 ...
随机推荐
- js下数据库 nedb lokijs
一个7千颗星nedb.一个3千 lokijs https://rawgit.com/techfort/LokiJS/master/jsdoc/tutorial-Persistence%20Adapt ...
- BZOJ 3585 mex
题目已经没有了 思路: 莫队+分块 首先有一个结论:所有的答案都在0到n之间,用反正法就能证明,所以所有大于n的数都可以看成n 离线,对询问区间进行莫队,再对答案的范围0到n进行分块 复杂度(n+2* ...
- sublime Text如何取消两栏窗口?
在菜单栏里的 View->LayOut->Single,也可以用快捷键 Alt+Shift+1.如图所示.(亲测可用) <img src="https:// ...
- 用图来教你怎样用Photoshop蓝底转换红底
教你怎样用红底转换成蓝底.PS其实学了这个,你就可以在白底红底蓝底之间不同转变了. 第一步 第二步 第三步 第四步 最后给你们看看对比效果图
- 雷林鹏分享:C# 环境
C# 环境 在这一章中,我们将讨论创建 C# 编程所需的工具.我们已经提到 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序.因此,在讨论运行 C# 程序的可用工具之前,让我们先了解一 ...
- Linux中sudo的用法
一.用户在/etc/sudoers文件中的写法语法规则:授权用户 主机=命令动作 这三个要素缺一不可,但在动作之前也可以指定切换到特定用户下,在这里指定切换的用户要用括号括起来,如果不需要密码直接运行 ...
- calc_load
http://www.penglixun.com/tech/system/how_to_calc_load_cpu.html #define FSHIFT 11 /* nr of bits of pr ...
- Codeforces Round #503 (by SIS, Div. 1)E. Raining season
题意:给一棵树每条边有a,b两个值,给你一个m,表示从0到m-1,假设当前为i,那么每条边的权值是a*i+b,求该树任意两点的最大权值 题解:首先我们需要维护出(a,b)的凸壳,对于每个i在上面三分即 ...
- bzoj2875
题意:\(x_{i+1}=(x_{i}*a+c)%m\)求,x_n%g 题解:\(x_n=(a^n*x_0+(a^{n-1}+a^{n-2}+...+a+1)*c)%m\),由于a-1和m不一定互质, ...
- bzoj3529: [Sdoi2014]数表 莫比乌斯反演
题意:求\(\sum_{i=1}^n\sum_{j=1}^nf(gcd(i,j))(gcd(i,j)<=a),f(x)是x的因子和函数\) 先考虑没有限制的情况,考虑枚举gcd为x,那么有\(\ ...