2017-07-30 4 views
1

私は2つのシーン "GamePlay"と "GameUI"を持っています。Unity3dでUISceneをリロードせずにGameSceneを再ロード

私は "GameUI" のシーンをリロード防ぐことができますどのように

SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); 

を使用して "ゲームプレイ" のシーンをリロードするとき、私はゲームプレイ

void Awake() { 
    if (!instance) { 
     instance = this; 
    } else { 
     Destroy(this.gameObject) ; 
    } 

    SceneManager.LoadScene ("GameUI", LoadSceneMode.Additive); 
    DontDestroyOnLoad(this.gameObject); 
} 

と加法GameUIをロードしますか?

答えて

1

オブジェクトが存在するかどうかを示す静的ブールを含むGameUIに添付されているMonoBehaviourを追加できます。次のスクリプトを使用して、UIシーン全体を1つのオブジェクトの子にします。

public class UIExistance : MonoBehaviour 
{ 
    public static bool Exists { get; private set; } 

    void Awake() 
    { 
     DontDestroyOnLoad(transform.gameObject); 
     UIExistance.Exists = true; 
    } 

    void OnDestroy() 
    { 
     UIExistance.Exists = false; 
    } 
} 

あなたはUIシーンにすでに存在するかどうかをif(!UIExistance.Exists)に確認することができ、あなたの投稿をAwake方法です。

関連する問題