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

How to enable a children of a clone object in Unity?

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

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.

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

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 激活或停用具有所述名称的游戏对象。

已解决:

而不是:

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

使用:

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