找到子坐标并进一步传递它们?

Find child coordinates and pass them further?

我有一个对象列表和一个随机显示一个对象的脚本。我如何接收活动对象的子对象的坐标,以便进一步传递它们?我想将世界坐标写入x、y和z。

这是脚本:

public GameObject[] objects;
    public int objNumTrunk;
    public int objCountTrunk = 0;
    public float x;
    public float y;
    public float z;
    public void OnMouseDown()
    {
        objNumTrunk = Random.Range(0, 3);
        objCountTrunk = 0;
        while (objCountTrunk < 3)
        {
            objects[objCountTrunk].SetActive(false);
            objCountTrunk += 1;
        }
        objects[objNumTrunk].SetActive(true);
}

创建一个新变量并存储对象[objNumTrunk] 的引用。我假设您已经有了关于子对象的脚本。 现在,无论何时调用 OnMouseDown,引用都会更新,您可以收到活动对象的子坐标

示例:

public GameObject selectedObject;

最后在你的 OnMouseDown() 里面

selectedObject = objects[objNumTrunk];

现在您可以使用 selectedObject.GetComponentInChildren<ChildScript>().coordinates