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

来源:互联网 发布:安装linux u盘坏了 编辑:程序博客网 时间:2024/06/05 21:16
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> ();

阅读全文
0 0
原创粉丝点击