如何在Unity中启用克隆对象的子项?

时间:2016-12-23 14:16:09

标签: c# unity3d clone children

我将我的克隆保存在Unity3D&amp ;;中的GUI操作列表中。 C#。

button = Instantiate(BlackBox, Vector2.zero, Quaternion.identity) as GameObject;
buttons.Add(button);

如何在this situation中启用ArrowRight?

我想要到达ArrowRight以启用它。我试过这种方法的变种:

buttons[index].gameObject.transform.GetChild(1).gameObject.SetActive(true);

但它不起作用。 Objects' components

2 个答案:

答案 0 :(得分:0)

我很快就得到了这段代码来解决你的问题。也许不是最好的解决方案,但如果我理解你的问题,它应该有效。

using UnityEngine;

public class blackBox : MonoBehaviour {
    public bool toggleRight;

    // Update is called once per frame
    void Update () {
        if(toggleRight)
        {
            foreach(Transform child in transform)
            {
                if(child.name.Equals("ArrowRight"))
                {
                    child.gameObject.SetActive(!child.gameObject.activeSelf);
                }
            }
            toggleRight = false;
        }
    }
}

这只是一个演示,可以满足您的需求。

将其放置在黑盒游戏对象上,并使用foreach激活或停用具有所述名称的游戏对象。

答案 1 :(得分:0)

解决:

而不是:

buttons[index].gameObject.transform.GetChild(1).gameObject.SetActive(true);

使用:

buttons[index].transform.GetChild(1).gameObject.SetActive(true);