팀 과제에서 맡은 StartScene을 만들면서 UI를 어떻게 관리할지 생각하다가
StartSceneController 스크립트를 만들어서 StartScene 의 전체적인 흐름을 관리하였다
아래는 버튼 오브젝트에 스크립트를 직접 할당하지 않고 더 깔끔하게 코드로 할 수있는게 뭐가 있을까 생각하다가 발견한 방법이다
버튼에 이벤트 할당하기
유니티에서 UI에 동작을 할당할 때는 간편하게 인스펙터에서 버튼 컴포넌트에 직접 할당을 해주는 방법이 있다
쉽고 직관적이지만 단점이 존재한다
1. 할당된 메서드가 visual studio에서 참조가 안된다
2. 미리 할당해놔야하기 때문에 동적으로 버튼의 동작을 바꿀 수 없다
AddListener로 버튼에 이벤트 할당하기
이를 해결하기 위해 Button에 onClick.AddListener(델리게이트) 형식으로 메서드를 할당하는 방법이 있다
1. 인자가 없는 경우 바로 메소드 이름으로 넘겨준다
2. 인자가 있다면 람다식이나 델리게이트를 사용하여 넘겨준다
AddListener 로 굳이 안해도 되지만 이렇게 하는게 더 깔끔해서 사용하였다
그리고 마참내 StartScene 완료 !
캐릭터 변경을 적용하는게 생각보다 어려웠지만 그래도 금방 할 수 있었다
'TIL' 카테고리의 다른 글
[TIL] 내일배움캠프_Unity 깃허브 특강 (1) | 2023.09.11 |
---|---|
[TIL] 내일배움캠프_Unity 알고리즘 (0) | 2023.09.10 |
[TIL] 내일배움캠프_Unity 팀 프로젝트, CommitMessage 규칙 (0) | 2023.09.08 |
[TIL] 내일배움캠프_Unity 개인 과제2 (0) | 2023.09.06 |
[TIL] 내일배움캠프_Unity 개인 과제 (0) | 2023.09.05 |