2025.01.02 (목)

윤혜진·2025년 1월 2일
0

TIL

목록 보기
2/42

📍오늘 목표

  • 2주차 강의 <풍선을 지켜라> 게임 만들기

📍배운 것

  • 게임 종료시 실행되는 애니메이션 관련: 풍선이 터지는 애니메이션을 실행시킨 뒤 바로 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주차 강의자료 캡처)

    2주차 강의자료 캡처

📍겪은 어려움과 아쉬운 점

  • Balloon_Die 애니메이션의 실행 타이밍이 매번 들쭉날쭉하다... (컴퓨터 사양의 문제일지도)




  • 딜레이를 걸어주는 방식 말고 다른 방식은 없을지 궁금하다.

  • 기회가 된다면 좀 더 고민해보고 싶음!

📍회고 및 반성

  • GameManager에 할당하는 과정을 계속 잊는 바람에 비슷한 오류를 어러번 보았다. : 확인하는 습관을 들일 것!
  • 유니티 내장 함수가 많아 공부가 필요해 보인다. : 내가 모르는 함수가 나오면 그냥 넘어가지 말고 한번씩 검색하고 확인해보기!

0개의 댓글

관련 채용 정보