-
이번 글에서는 로딩 이미지 구현을 작업하였습니다.

전체 흐름을 관리할 State는 Manager 스크립트에 추가하였습니다.
초기 상태는 Loading 상태이며,
UI 오브젝트가 꺼질 때 State = Playing으로 변환됩니다.
다음은 로딩 이미지입니다.


BackGround 이미지와 그 하위에
캐릭터 이미지, 텍스트, 그리고 애니메이션 이미지를 넣어 주었습니다.
애니메이션 이미지는 애니메이션 클립을 하나 생성하여 시작 시 'Loading'이 실행되게 해 주었습니다.

다음 작업은 LoadingController 스크립트를 생성하였는데
time 변수를 선언하여서 오브젝트가 활성화될 때 실행될
OnEnable() 함수에서 인보크를 실행시켜 주었고
오브젝트가 비활성화될 때 실행될 이벤트 함수인 OnDisable() 함수에서
Manager의 State를 Playing으로 변경시켜 주었습니다.

동작 구현은 이상이 없지만, 몇 가지 예외처리를 할 부분이 있었습니다.
로딩 중일 땐, 플레이어가 움직임이나 공격 등 어떠한 상호작용도 이루어지면 안 되게 하는 것이었습니다.
1. PlayerMovement
다음과 같이 매니저의 상태가 Loading이면 return을 해주었습니다.

2. PlayerAttack
기존 Space 키를 누르면 시작될 공격에 조건문을 추가해 주었습니다.
Manager의 State가 Loading이 아닐 때 시작 되게 해 주었는데,
초기에는
Manager.instance.currentState == Manager.State.Playing
과 같이 구현을 했다가, State 값이 더 늘어날 수도 있다는 것을 생각하여 Loading이 아닐 때로 변경하였습니다.

동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.
크게 어려운 점은 없었던 작업인데.
(심플해 보이면서 과하지 않는 UI를 구성하기 위해 이것저것 갖고 있는 Sprite로 애니메이션을 만들고 확인해 보는 데에 시간이 야아아아아악간? 들었습니다)

이 몬스터가 움직이는 함수 구현에서 Print("111") 이 계속 찍히는
즉, 장애물이 있다고 판단되는 오류가 있었습니다.
결과적으로는

장애물을 검사하는 obstacleLayer가 인스펙터 창에서 초기화되어 있던 문제였고
항상 결과를 true로 반환하였던 것입니다.
아마 몬스터를 프리팹화 할 때 문제가 생긴 것 같은데...
잔실수를 줄이자 효 겸 아
감사합니다.

'유니티 프로젝트 > RPG-2D' 카테고리의 다른 글
Land Of Memories - Quest (1) (0) 2024.11.20 Land Of Memories - Pixel Art (0) 2024.11.19 Land Of Memories - Data Save - JSON (0) 2024.11.18 Land Of Memories - Monster Movement & Player Attack (0) 2024.11.15 Land Of Memories - Npc (helper) & DOTween (0) 2024.11.15