/// <summary> /// シーン遷移用コルーチン . /// </summary> /// <param name='scene'>シーン名</param> /// <param name='interval'>暗転にかかる時間(秒)</param> private IEnumerator TransSceneID(float interval) { //だんだん暗く . GameObject.Find("EventSystem").SetActive(false); m_nowScene.FadeOutBefore(); float time = 0; while (time <= interval) { this.fadeAlpha = Mathf.Lerp(0f, 1f, time / interval); time += Time.deltaTime; yield return(0); } m_nowScene.FadeOutAfter(); //シーン切替 . //Application.LoadLevel (scene); Destroy(m_nowScene.gameObject); m_nowScene = Instantiate(m_scenes[(int)m_nowIndex]); m_nowScene.name = m_sceneNames[(int)m_nowIndex]; m_nowScene.transform.parent = transform; Debug.Log("buildID = " + GetNextSceneName()); SceneManager.LoadScene(GetNextSceneName()); //だんだん明るく m_nowScene.FadeInBefore(); time = 0; while (time <= interval) { this.fadeAlpha = Mathf.Lerp(1f, 0f, time / interval); time += Time.deltaTime; yield return(0); } m_nowScene.FadeInAfter(); GameObject.Find("EventSystem").SetActive(true); }
public void Awake() { if (this != Instance) { Destroy(this.gameObject); return; } m_texture = null; DontDestroyOnLoad(this.gameObject); m_nowScene = Instantiate(m_scenes[(int)m_nowIndex]); m_nowScene.name = m_sceneNames[(int)m_nowIndex]; m_nowScene.transform.parent = transform; }
/// <summary> /// シーン遷移用コルーチン . /// </summary> /// <param name='scene'>シーン名</param> /// <param name='interval'>暗転にかかる時間(秒)</param> private IEnumerator TransScene(SCENE_RAVEL scene, float interval) { //だんだん暗く . //GameObject.Find("EventSystem").GetComponent<EventSystem>().enabled = false; m_nowScene.FadeOutBefore(); this.isFading = true; float time = 0; while (time <= interval) { this.fadeAlpha = Mathf.Lerp(0f, 1f, time / interval); time += Time.deltaTime; yield return(0); } m_nowScene.FadeOutAfter(); //シーン切替 . //Application.LoadLevel (scene); Debug.Log("buildID = " + scene); Destroy(m_nowScene.gameObject); m_nowScene = Instantiate(m_scenes[(int)scene]); m_nowScene.name = m_sceneNames[(int)scene]; m_nowScene.transform.parent = transform; SceneManager.LoadScene(m_sceneNames[(int)scene]); // Pauser.Pause(); //だんだん明るく . m_nowScene.FadeInBefore(); time = 0; while (time <= interval) { this.fadeAlpha = Mathf.Lerp(1f, 0f, time / interval); time += Time.deltaTime; yield return(0); } m_nowScene.FadeInAfter(); //GameObject.Find("EventSystem").GetComponent<EventSystem>().enabled = true; this.isFading = false; }