2-9 게임 끝내기 - 게임 종료 로직 만들기
게임이 종료된 후 게임 종료 로직을 만들고 버튼을 누르면 재시작하기
먼저 게임 종료에 관한 부분은 게임에 대한 전반적인 기능을 담당하는 부분이므로
GameManager에서 담당한다.
GameManager.cs에서 싱글톤화를 하여 외부에서 호출가능하도록 한다.
public static GameManager Instance;
private void Awake()
{
if(Instance == null)
{
Instance = this;
}
}
Instance == null, null은 비어있다라는 뜻으로 변수가 비어있을 경우 Instance = this를 한다는 의미이다.
게임 종료시 약간의 시간차 개선
bool isPlay= true;
void Update()
{
if (isPlay)
{
time += Time.deltaTime;
timeTxt.text = time.ToString("N2");
}
}
public void GameOver()
{
isPlay= false;
Time.timeScale = 0.0f;
nowScore.text = time.ToString("N2");
endPanel.SetActive(true);
}
2-10 최고 점수 구현
유니터에서 데이터를 보관하는 방법: Playerprefs
앱을 껐다 켜도 데이터가 유지되게 하는 방법이다.
데이터 저장하기
PlayerPrefs.SetFloat("bestScore", 어떤숫자열);
PlayerPrefs.SetString("bestScore", 어떤문자열);
데이터 불러오기
어떤 숫자열 = PlayerPrefs.GetFloat("bestScore");
어떤 문자열 = PlayerPrefs.GetString("bestScore");
데이터를 저장했었는지 확인
PlayerPrefs.Haskey("bestScore")
데이터 모두 지우기
PlayerPrefs.DeleteAll();
Invoke 함수
특정 함수를 일정 시간 이후에 실행하고자 할때 사용한다.
Invoke("함수명"(string), 지연시간(float));
'개발일지' 카테고리의 다른 글
240828(수) Unity 강의 [고양이 특성 주기] (0) | 2024.08.28 |
---|---|
240827(화) Unity 강의 [Start Scene에서 Main Scene 이동] (0) | 2024.08.27 |
240823(금) Unity 강의[타이머, retry 버튼, 마우스 커서 이동] (0) | 2024.08.23 |
240821(수) Unity 강의 [캐릭터 움직이기] (0) | 2024.08.21 |
240820(화) [함수] (0) | 2024.08.20 |