게임 종료시 실행되는 애니메이션 관련: 풍선이 터지는 애니메이션을 실행시킨 뒤 바로 timeScale
을 0으로 만들면 풍선 터지는 애니메이션을 확인할 수 없게 되므로 Invoke
함수로 딜레이를 넣어주어야 한다.
Q.
timeScale
이랑Invoke
가 뭐더라?
A. 👉 Unity TimeScale의 함정 / 👉 Unity : Invoke
오타로 인한 오류 방지책: "bestScore" 같은 key값을 일일이 치면 오타를 냈을 때 오류를 발견하기 어려울 수 있으므로 따로 key값을 담을 string 변수를 만들어 넣어주면 좋다.
//오타로 인한 오류 방지책 string key = "bestScore"; public void GameOver() { //최고점수가 있다면 if(PlayerPrefs.HasKey(key)) { //저장된 최고점수를 불러온다. float best = PlayerPrefs.GetFloat(key); //만약 최고점수보다 현재점수가 더 높다면 if (best < time) { //현재 점수를 최고 점수에 저장한다. PlayerPrefs.SetFloat(key, time); bestScore.text = time.ToString("N2"); } else { bestScore.text = best.ToString("N2"); } } //최고점수가 없다면 else { //현재 점수를 최고 점수에 저장한다. PlayerPrefs.SetFloat(key, time); bestScore.text = time.ToString("N2"); } endPanel.SetActive(true); }//GameOver End
애니메이션 파라미터 (isDie)
Make Transition
을 눌러 Idel 애니메이션과 Die 애니메이션을 이어줄 수 있다.
이어준 Transition을 클릭하면 특정 상태일 때 Idel에서 Die 애니메이션으로 넘어가도록 설정할 수 있다.
Float
- 특정 파라미터가 일정 수치보다 크거나 작을 때
Int
- 특정 파라미터가 일정 수치보다 크거나 작을 때
- 같거나 같지 않을 때
Bool
- 특정 파라미터가 true 혹은 false가 되었을 때
Trigger
- 특정 행동을 했을 때
PlayerPrefs
(2주차 강의자료 캡처)Balloon_Die 애니메이션의 실행 타이밍이 매번 들쭉날쭉하다... (컴퓨터 사양의 문제일지도)
딜레이를 걸어주는 방식 말고 다른 방식은 없을지 궁금하다.
기회가 된다면 좀 더 고민해보고 싶음!