Exemple #1
0
    public void ChangeRankingScene()
    {
        //loading씬 후 Ranking 씬으로 이동
        //(LoadManager.LoadScene이 아니라 LoadingManager 스크립트의 LoadScene)

        FadeEffects.FadeOutAndLoadScene(clearImage, "Ranking", 0.5f);
        //LoadingManager.LoadScene("Ranking");
    }
Exemple #2
0
    public void ChangeStartScene()
    {
        //loading씬 후 start 씬으로 이동
        //(LoadManager.LoadScene이 아니라 LoadingManager 스크립트의 LoadScene)

        Time.timeScale = 1f;
        FadeEffects.FadeOutAndLoadScene(clearImage, "Start", 0.5f);
        //LoadingManager.LoadScene("Start");
    }
Exemple #3
0
    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); //씬 이동
        }
    }
Exemple #4
0
 public void ChangeGameOverScene()
 {
     FadeEffects.FadeOutAndLoadScene(clearImage, "GameOver", 0.5f);
 }
Exemple #5
0
 public void ChangeCorridorScene()
 {
     //복도 씬으로 이동
     FadeEffects.FadeOutAndLoadScene(clearImage, "Corridor", 0.5f);
 }
Exemple #6
0
    public Image clearImage;    //페이드 효과에 사용할 이미지(투명->검정)

    void Awake()
    {
        FadeEffects.FadeIn(blackImage, 1f);
    }
Exemple #7
0
    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); //페이드아웃 화면
    }
Exemple #8
0
    //private bool isEnded = true;

    private void Start()
    {
        FadeEffects.FadeIn(BlackImage, 0.5f); //페이드인 화면
        StartCoroutine(LoadScene());
    }