본문 바로가기

TIL(Today I Learned)/오늘 무엇을 배웠을까

TIL(Today I Learned) - 36

1. UI 이벤트 구독 문제 해결

  • UIManager에서 각 UI 패널(Title, InGame, GameOver, Pause, InGameDescriptionPanel) 관리 및 이벤트 구독 문제를 다루었다.
  • GameManager에서 발생하는 다양한 이벤트(OnTitleScreen, OnGameStart, OnGameOver, 등)에 맞춰 UIManager가 올바르게 구독하고 UI를 업데이트하도록 조정.
  • 특히, InGameDescriptionPanel이 게임 시작 시에 자동으로 표시되며, 사용자 입력 후 게임이 진행되도록 처리.

2. 게임 상태 관리 개선

  • GameManager에서 게임 중단 및 재개 시 Time.timeScale을 조정하여 게임의 모든 요소가 올바르게 일시 정지 또는 재개되도록 구현.
  • TogglePause 메서드를 통해 플레이어 이동 및 UI 변경이 통합 관리되도록 설정.
  • GameOver 상황에서도 isPaused 상태를 고려하여 중복된 일시정지 창이 표시되지 않도록 조정.

3. 설명 패널의 초기 로드 설정

  • 인게임 씬에 진입할 때 설명 패널이 자동으로 표시되도록 SceneManager.sceneLoaded와 OnGameStart를 활용하여 흐름을 개선.
  • ShowInGameDescriptionPanel을 통해 패널이 뜨고, 사용자 입력 후에 게임이 시작되도록 조정하여 사용자 경험을 높였다.

4. 아이콘 깜박임 이펙트 자연스럽게 구현

  • 능력 사용 시 깜박이는 이펙트가 더 부드럽고 자연스럽게 보이도록 Image의 투명도를 천천히 조절하는 로직을 추가.
  • 사용자가 능력 아이콘을 통해 능력 상태를 직관적으로 확인할 수 있도록 설계하였다.

오늘의 배움:

  • 게임의 일시정지, 게임오버, 시작 등의 상태 변화가 UI와 밀접하게 연동될 때, 각 상태와 UI 간 이벤트 구독 관계를 명확하게 하는 것이 중요하다는 것을 배웠다.
  • 효과적인 UI/게임 상태 관리에는 SceneManager와의 연동 및 중앙 관리 클래스(GameManager)의 역할이 매우 크며, 이를 활용해 흐름을 보다 직관적으로 구성할 수 있었다.

'TIL(Today I Learned) > 오늘 무엇을 배웠을까' 카테고리의 다른 글

TIL(Today I Learned) - 38  (0) 2024.11.12
TIL(Today I Learned) - 37  (1) 2024.11.12
TIL(Today I Learned) - 35  (1) 2024.11.04
TIL(Today I Learned) - 34  (0) 2024.11.01
TIL(Today I Learned) - 33  (0) 2024.10.31