[사운드 오브 좀비] 다른 씬의 데이터 접근하기

Yerin·2022년 6월 7일
0

사운드오브좀비

목록 보기
4/4

사운드 오브 좀비 게임은 아래와 같은 조건에 맞게 게임을 성공하거나 실패한다.

게임 성공

  • 10분 안에 음표 16개 모으기

게임 실패

  • 제한 시간 10분 초과
  • 목숨 모두 잃음

따라서 성공과 실패 시 게임 결과 화면으로 이동하게 된다.
이 과정을 씬을 통해 이동하는 것으로 구현했는데
씬 이동 시 데이터를 전달하는 방법을 알아보려 한다.

사실 데이터 전달은 아니다.😁
데이터를 전달하려했는데 차라리 전역 변수를 쓰는 방법이 깔끔하다는 생각이 들었다.

음표의 개수, 목숨, 시간을 제어하는 스크립트에 static클래스를 만들어 static 변수를 선언해 준다.

음표의 개수와 시간을 결과 화면에 표시할 것이기 때문에
time과 music 변수를 선언 하였다.

public static class SceneVariable
{
    public static string time = "";
    public static int music = 0;
}

그 다음은 간단하다.
아래와 같은 형식으로 값에 접근하면 된다.

SceneVariable.music 

예시 코드

 public void UpdateMusicBox(int count)
    {
        
         
        SceneVariable.music = int.Parse(PointText.text)+count //전역 변수에 값 대입
        PointText.text = musicbox.ToString();

        if(musicbox == 16)
        {
        	//조건에 맞는다면 씬 이동
            SceneManager.LoadScene("GameClear");
        }

    }

이동한 씬에서는 아래와 같이 접근해서 사용하면 된다.

  	public Text TimerText;
    public Text ScoreText;
    // Start is called before the first frame update
    void Start()
    {
        TimerText.text = SceneVariable.time.ToString();
        ScoreText.text = SceneVariable.music.ToString();
    }

완성!

profile
재밌는 코딩 공부

0개의 댓글