unity3d 使用GetComponentInChildren,父子对象都有同一个控件,怎么跳过父对象获取子对象的控件?

unity3d 使用GetComponentInChildren,父子对象都有同一个控件,怎么跳过父对象获取子对象的控件?,第1张

使用GetComponentsInChildren, 得到脚本集 脚本名[]后,进行for循环 看哪个的gameobject.name 是你想要的

或者 父对象.transform.find("子对象的名字").GetComponent<xx>()

Unity3d中GameObject对象可以包括其他子GameObject,并且本身包括多个Component.1.GameObject.Find("myObject") or FindGameObjectByTag will search the scene for an object called myObject.2. transform.Find("myObject") will only search the game objects children for an object called myObject.3.GetComponent用来获取组件。用法: Transform Find(String name)Transform FindChild(String name)1.查找名为name的(transform.gameObject)直接子物体并返回该子物体的Transform属性。不能是孙子物体或更低辈分的子物体。2.可以在name中使用字符'\' 遍历整个路径。其中路径的根必须是transform.gameObject的直接子物体,不能是孙子物体或更低辈分的子物体。这样就可以访问到以transform.gameObject为根的物体树,包括其子物体,孙子物体,曾孙物体。。。。若Cube物体有一个直接子物体Cube1,Cube1有一个直接子物体Cube2,我们就可以在Cube的脚本中使用transform.Find("Cube1/Cube2")或transform.FindChild("Cube1/Cube2") 这样就直接访问到了transform.gameObject的孙子物体Cube2。

使用toggle实现单选效果

为toggle父物体添加:toggleGroup组件,勾选Allow Switch Off

为每一个toggle选择下的Group选择添加toggleGroup组件的物体(此为toggle父物体)

void Start () {

        toggles = transform.GetComponentsInChildren<Toggle>()

        for (int i = 0i <toggles.Lengthi++)

        {

            Toggle toggle = toggles[i]

            toggle.onValueChanged.AddListener((bool value) =>OnToggleClick(toggle, value))

        }

    }

//功能:点击选中某一个toggle时播放相对应的视频

void OnToggleClick(Toggle toggle,bool isSwitch) {

        if (isSwitch)

        {

            print(toggle.name)

//改变文本字体的布局--居中

            toggle.transform.Find("LabelBGImage/Label").GetComponent<Text>().alignment= TextAnchor.MiddleCenter

            PlayerPrefs.DeleteAll()

            PlayerPrefs.SetString("CurrentVideo","xuting")

            SceneManager.LoadScene("fengcaiqiang")

        }

        else {

//改变文本字体的布局--低部居中

            toggle.transform.Find("LabelBGImage/Label").GetComponent<Text>().alignment = TextAnchor.LowerCenter

        }

    }


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11277265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存