Unity 개발일지

[Unity] 캐릭터 선택창 만들기 본문

Unity 개발

[Unity] 캐릭터 선택창 만들기

아머르 2024. 5. 14. 12:12

UI로 원하는 캐릭터 선택창을 만들자.

Image와 Button UI로 간단하게 만들었다.

 

 

OpenCharacterUIBtn 스크립트에는 말그대로 창이 열리고 닫히는 기능만 작성했다.

SelectCharacterBtn 오브젝트와 SelectBtn 오브젝트에 각각 컴포넌트로 등록하고 OnClick을 설정하였다.

 

 

SelecCharacterBtn도 간단히 Player의 자식 오브젝트에 SpriteRenderer를 넣어 구분하고

SetActive를 이용해 켜고 꺼주었다.

 

 

이 과정에서 한가지 문제가 발생한다.

바로 Animator가 처음 생성한 플레이어에만 적용되고 나머지 플레이어에는 적용되지 않는것!

 

 

그래서 PlayerAnimationConvert라는 스크립트를 만들어 Player1과 Player2의 컴포넌트로 넣어주었다.

 

 

AnimationController에 있는 Animator를 가져오기 위해 public으로 바꿔주었고,

Awake에서 Animator 컴포넌트에 접근했다.

 

OnEnable을 이용해 플레이어를 바꿀 때 다시 Animator를 설정하도록 해주었다.

 

[OnEnable에 대한 설명]

OnEnable() 메서드는 MonoBehaviour 클래스의 생명 주기 함수 중 하나로, 해당 스크립트가 활성화될 때 호출됩니다. 스크립트가 비활성화된 후 다시 활성화될 때마다 호출됩니다.

일반적으로 OnEnable() 메서드는 초기화 작업이나 다시 활성화될 때 필요한 설정을 수행하는 데 사용됩니다. 예를 들어, 게임 오브젝트가 활성화될 때마다 캐릭터의 상태를 초기화하거나, 이벤트 리스너를 추가하거나, 다른 게임 오브젝트와의 상호 작용을 시작하는 등의 작업을 수행할 수 있습니다.

 

 

잘 작동하는 모습이다.

반응형