オブジェクトが削除されたことを「保存」する方法は、MonoBehaviour
から継承し、スクリプトを含むオブジェクトがシーン間に存在するようにDontDestroyOnLoad()
にコールするだけです。
public static class DestroyedObject : MonoBehaviour
{
public static DestroyedObject Instance;
private static List<GameObject> objs = new List<GameObject>();
private void Awake()
{
if (!Instance)
{
Instance = this;
}
else
{
DestroyImmediate(gameObject);
}
DontDestroyOnLoad(gameObject);
}
public static void Add(GameObject obj)
{
if(!objs.Contains(obj))
objs.Add(obj);
}
public static List<GameObject> GetDestroyedObjects()
{
return objs;
}
}
は、その後、あなたは単純に(何人かの人々はデザインパターンのこの種のが好きではありませんが、それはユニティを使用するときに非常に効果的であることが証明されている)DestroyedObject.Instance.Add()
またはDestroyedObject.Instance.GetDestroyedObjects()
を使用してスクリプトにアクセスします。
また@Sergeyが尋ねたように、後でオブジェクトを削除するために(シーンロード時に)オブジェクトを作成する理由:逆の操作(必要なインスタンスのインスタンス化のみ)を行うことができます。このことができます
希望は、
シーンの開始時にオブジェクトが破壊されていますか?シーンが始まる前に何かを作成して破壊するのはなぜですか? –
その隠されたオブジェクトのゲームは、発見されたオブジェクトは、あなたが別のシーンに移動すると、破壊されたままにする必要があるオブジェクトがある前のシーンthatsに戻ってくることができます移動 –
あなたは厳密にコピー貼り付け、 m-rogalskiは[あなたの前の質問](http://stackoverflow.com/questions/41547533/how-to-pass-the-destroyed-state-of-an-object-in-unity)であなたを提供しました:多分あなたは新しい質問を開始するのではなく、単に彼に尋ねました。 – Kardux