Unity加載場景時不刪除物體

避免了重複出現物體

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 加載場景時不刪除的物體
/// </summary>
public class DontDestroyOnLoad : MonoBehaviour
{
    //加載場景時不銷燬的物體
    public GameObject[] DontDestroyObjects;

    //是否已經存在DontDestroy的物體
    private static bool isExist;

    //-------------------------------------------------------------------------------

    void Awake()
    {
        if (!isExist)
        {
            for (int i = 0; i < DontDestroyObjects.Length; i++)
            {
                //如果第一次加載,將這些物體設爲DontDestroy
                DontDestroyOnLoad(DontDestroyObjects[i]);
            }

            isExist = true;
        }
        else
        {
            for (int i = 0; i < DontDestroyObjects.Length; i++)
            {
                //如果已經存在,則刪除重複的物體
                Destroy(DontDestroyObjects[i]);
            }
        }
    }

    //-------------------------------------------------------------------------------
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章