public void ChangeRankingScene() { //loading씬 후 Ranking 씬으로 이동 //(LoadManager.LoadScene이 아니라 LoadingManager 스크립트의 LoadScene) FadeEffects.FadeOutAndLoadScene(clearImage, "Ranking", 0.5f); //LoadingManager.LoadScene("Ranking"); }
public void ChangeStartScene() { //loading씬 후 start 씬으로 이동 //(LoadManager.LoadScene이 아니라 LoadingManager 스크립트의 LoadScene) Time.timeScale = 1f; FadeEffects.FadeOutAndLoadScene(clearImage, "Start", 0.5f); //LoadingManager.LoadScene("Start"); }
public void ChangePlayingScene() { //loading씬 후 play 씬으로 이동 GameManager.instance.ResetGameManager(); //게임 기록 초기화 //맵 생성(1/3 확률로 T, E, S맵 생성) int mapIndex = Random.Range(0, 3); if (mapIndex == 0) { GameManager.instance.mazeType = "T"; //T맵 정보 저장 FadeEffects.FadeOutAndLoadScene(clearImage, "Maze_T", 0.5f); //씬 이동 } else if (mapIndex == 1) { GameManager.instance.mazeType = "E"; //E맵 정보 저장 FadeEffects.FadeOutAndLoadScene(clearImage, "Maze_E", 0.5f); //씬 이동 } else { GameManager.instance.mazeType = "S"; //S맵 정보 저장 FadeEffects.FadeOutAndLoadScene(clearImage, "Maze_S", 0.5f); //씬 이동 } }
public void ChangeGameOverScene() { FadeEffects.FadeOutAndLoadScene(clearImage, "GameOver", 0.5f); }
public void ChangeCorridorScene() { //복도 씬으로 이동 FadeEffects.FadeOutAndLoadScene(clearImage, "Corridor", 0.5f); }
public Image clearImage; //페이드 효과에 사용할 이미지(투명->검정) void Awake() { FadeEffects.FadeIn(blackImage, 1f); }
IEnumerator LoadScene() { yield return(null); //LoadSceneAsync(): 비동기 방식으로 씬을 불러옴(불러오는 도중 다른 작업 가능) AsyncOperation op = SceneManager.LoadSceneAsync(changeScene); op.allowSceneActivation = false; //float timer = 0.0f; //시간 초기화 ProgressBar.value = 0.0f; //진행도 슬라이더 초기화 /* * while (!op.isDone) * { * yield return null; * timer += Time.deltaTime; * if (op.progress < 0.9f) * { * //준비가 다 되지 않았다면 * //Mathf.Lerp(float 시작점, float 종료점, float 거리비율): 시작점부터 종료점까지의 거리 비율 반환 * ProgressBar.value = Mathf.Lerp(ProgressBar.value, op.progress, timer); * if (ProgressBar.value >= op.progress) * { * timer = 0f; * } * } * else * { * ProgressBar.value = Mathf.Lerp(ProgressBar.value, 1.0f, timer); * * if (ProgressBar.value == 1.0f) * { * //준비가 다 되었다면 * op.allowSceneActivation = true; * * //FadeEffects.FadeOut(ClearImage, 0.5f); //페이드아웃 화면 * yield break; * } * } * } */ //5초 정도 로딩씬 게이지바 보여주기 time_current = time_loading; time_start = Time.time; while (!op.isDone) { yield return(null); time_current = Time.time - time_start; if (time_current < time_loading) { ProgressBar.value = time_current / time_loading; } if (ProgressBar.value >= 0.99f) { //준비가 다 되었다면 op.allowSceneActivation = true; yield break; } } FadeEffects.FadeOut(ClearImage, 0.5f); //페이드아웃 화면 }
//private bool isEnded = true; private void Start() { FadeEffects.FadeIn(BlackImage, 0.5f); //페이드인 화면 StartCoroutine(LoadScene()); }