Unity3D如何获取GameObject上的Component
来源:互联网 发布:linux gzip 打包压缩 编辑:程序博客网 时间:2024/05/22 04:45
获取Component方式
1.直接将脚本挂载到 Light上,可以直接getComponent方式获取。
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Test : MonoBehaviour { GameObject go; Light light;// Use this for initializationvoid Start () { go = new GameObject("name"); //脚本挂载在Directional Light下,获取light方式 light = GetComponent<Light>(); light.color = Color.green;}// Update is called once per framevoid Update () {}}2.挂载在其他GameObject上,获取Light,可将脚本Light设置为public属性,脚本上拖动相应组件到上面
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Test : MonoBehaviour { GameObject go; public Light light;// Use this for initializationvoid Start () { go = new GameObject("name"); light.color = Color.green;}// Update is called once per framevoid Update () {}}
3.先找到对应GameObject,再获取组件
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Test : MonoBehaviour { GameObject go; GameObject goLight; Light light;// Use this for initializationvoid Start () { go = new GameObject("name"); goLight = GameObject.Find("gameobject'name");//遍历Hierarchy下面全部的对象 light = goLight.GetComponent<Light>(); light.color = Color.green;}// Update is called once per framevoid Update () {}}
注意:如果场景下包含相同的对象名字,则需要给GameObject.Find()方法可以传入绝对路径。栗子:Find(gm/gm1/Light)
/// <summary> /// 寻找物体 /// </summary> /// <param name="trans">作为父物体的transform</param> /// <param name="findname">寻找的物体的名称</param> /// <param name="_trans">找到的物体</param> void FindChild(Transform trans,string findname,ref Transform _trans) { if(trans.name.Equals(findname)){ _trans = trans.transform; return; } if(trans.childCount != 0){ for (int i = 0, len = trans.childCount; i < len; i++) { FindChild(trans.GetChild(i),findname,ref _trans); } } }
0 0
- Unity3D如何获取GameObject上的Component
- unity3d教程游戏目标 (GameObject) 和组件 (Component) 的联系
- unity3d之GameObject,Component继承关系
- Unity3D 04-GameObject,Component,Time,Input,Physics
- 如何获取一个已经Deactivates 的GameObject
- Unity3D获取两个GameObject间距
- Unity3D获取GameObject的所有子对象,添加特定标签
- Unity3D中Gameobject与gameobject的区别
- Unity3D入门基础之游戏对象 (GameObject) 和组件 (Component) 的关系
- Unity3D脚本中创建的gameobject如何删除
- unity3d--MonoBehaviour与Component与Tranform与GameObject
- Unity3D 射线指定层获取GameObject 注意
- Unity3d中GameObject.active或gameObject.SetActiveRecursively无效的问题
- Unity3D的GameObject的SendMessage相关函数
- Unity3D控制gameobject脚本执行的顺序
- Unity3d中物件(gameobject)的基础操作
- 在Unity中,获得包含某种component的gameobject
- Unity3D 射线指定层获取GameObject 注意 LayerMask
- avalon引入一个外部css(link href)ms-href无效
- nagios监控网卡流量
- JSP表达式
- alter
- Java反射机制详解
- Unity3D如何获取GameObject上的Component
- BAT脚本编写教程(比较易懂和全面)
- 【shell】正则表达式语法
- 代码块测试
- mysql-select深入应用一
- 2d多点旋转,缩放,移动
- CGLIB【理解】【难点】
- springboot actuator
- js基础