Unity C#从GameObject数组中获取Light组件

时间:2017-05-23 19:10:02

标签: c# arrays unity3d light gameobject

您好,我知道这是一个简单的问题,但我从团结和C#开始。 我有一个包含65个游戏对象的数组,我需要在不同的数组中使用每个游戏对象的光组件,到目前为止,我有:

    public GameObject[] lightGO;
    public Light[] lights;

    void Awake(){
            lightGO = GameObject.FindGameObjectsWithTag ("Light");
            for (int i = 0; i < lightGO.Length; i++){

                    lights[i] = lightGO[i].GetComponent<Light>();

            }

    }

GameObject数组填充了65个项目但是灯光保持为空,这里有指针吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

非常感谢@Woltus制作了这个技巧,我创建了一个父游戏对象并将所有灯光作为其子代,代码最终类似于:

    public GameObject lightsM;
    public Light[] lights;

    void Awake(){

            lights = lightsM.GetComponentsInChildren<Light>();

    }

现在一切正常,感谢百万