あるオブジェクトに下のスクリプトを追加してシーン移動しても破壊されないようにしているのですが、
ある特定のシーンに移動するときは破壊されるようにしたいのですがどのような処理を加えれば良いのでしょうか?
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Dontdestroy : MonoBehaviour { // GameControllerインスタンスの実体 private static Dontdestroy instance = null; // GameControllerインスタンスのプロパティーは、実体が存在しないとき(=初回参照時)実体を探して登録する public static Dontdestroy Instance => instance ?? (instance = GameObject.FindWithTag("Dontdestroy").GetComponent<Dontdestroy>()); private void Awake() { // もしインスタンスが複数存在するなら、自らを破棄する if (this != Instance) { Destroy(this.gameObject); return; } DontDestroyOnLoad(gameObject); } private void OnDestroy() { // 破棄時に、登録した実体の解除を行う if (this == Instance) instance = null; } } コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/06 09:07