Unityはすべての子オブジェクトを削除します

    /// <summary>
    /// 删除某Transform下所有子物体
    /// </summary>
    /// <param name="trans"></param>
    private void DeleteAllChildObjs(Transform trans)
    {
    
    
        GameObject[] gameObjects = new GameObject[trans.childCount];
        for (int i = 0; i < trans.childCount; i++)
        {
    
    
            gameObjects[i] = trans.GetChild(i).gameObject;
        }
        for (int i = 0; i < gameObjects.Length; i++)
        {
    
    
            DestroyImmediate(gameObjects[i]);
        }
    }

親オブジェクトに対する子オブジェクトのインデックス値は削除によって変化するため、最初に子オブジェクトを配列にトラバースしてから、配列をトラバースして破棄し、確実に確実に処理できるようにします^ ^

おすすめ

転載: blog.csdn.net/weixin_44003637/article/details/114945021