找到子坐标并进一步传递它们?
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
我有一个对象列表和一个随机显示一个对象的脚本。我如何接收活动对象的子对象的坐标,以便进一步传递它们?我想将世界坐标写入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