Unity中查找子组件GameObject或Component的操作汇总

游戏对象 (GameObject)是所有其他组件 (Component) 的容器,涵盖的游戏是所有游戏对象,为了方便游戏开发,下面就大家介绍的查找子组件GameObject或Component的方法。

1.GameObject
属性:
tag常用于区分游戏中不同类型的对象(例如区分玩家和NPC)
name:游戏物体的名称
 
方法:
SetActive:使游戏物体处于活跃/不活跃状态
例:other.gameObject.SetActive(flase);
如果这行代码放到触发的代码中,就会起到一个让所有触发的物体都从世界上消失的作用
 
如何查找GameObject
①直接拖拽赋值----public一个gameObject类型变量,然后把其它游戏对象拖进去
②查找(比较耗时)

GameObject.Find----直接查找名字,需要保证名字是唯一的,返回找到的这个GameObject


GameObject.Find(Canvas/Text").GetComponent(UI.Text).text

GameObject.FindGameObjectsWithTag-----通过标签查找某个游戏物体,并以数组形式返回所有找到的结果

 GameObject go=GameObject.FindGameObjectWithTag("Player");

GameObject.FindWithTag------通过标签查找某个游戏物体,并返回找到的GameObject


  // GameObject go= GameObject.Find("Cube");
        //查找指定游戏对象
//   GameObject go= GameObject.FindWithTag("CubeTags");
        GameObject[] array= GameObject.FindGameObjectsWithTag("CubeTags");

 
2.Component的常用操作
 
①得到Transform组件,并进行操作分三步:

1)首先得到游戏物体
GameObject go;    //利用前面所说的方法得到
2)然后得到Transform组件
Transform tran=go.transform;   //利用“.”得到游戏物体go中的transform组件并定义一个Transform类型变量来接收
3)最后对组件进行操作
 
②得到Component的方式
 
1)找到一个符合条件的之后就返回找到的这个并且不再寻找

GetComponent//


gameObject.GetComponent<RotateSelf>()


GetComponentInChildren
GetComponentInParent
2)会找出所有的符合条件的,并做成一个数组返回
GetComponents
GetComponentsInChildren
GetComponentsInParent
 
注:可以在一个GamObject上调用,例如go.GetCom...也可以在一个脚本对象(组件对象)上直接调用transform.GetCom...

查找的范围都是这个GameObject上挂载的所有脚本(组件)


增加组件

gameObject.AddComponent<RotateSelf> ();


http://blog.csdn.net/jiangguilong2000/article/details/77718812

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值