작성
·
175
0
강사님 강의도 듣고 다른 강의도 들어보면서 UI관련 궁금한점이 생겼습니다.!!
예를들어 총을발사 후 총알수보여주는 UI에서 총알수를 변경을 하고싶은데요. 어떤식으로 접근해야하는지 궁금합니다.
예를들어
총 관련스크립트{
총알 발사 => 총알숫자감소
총알관련 UI접근 =>감소
}
UI스크립트{
Update() {
총관련스크립트에서 총알 수를 읽어 온 후 UI변경
}
}
주로 첫번째 방법을 이용했었는데요. 첫번째 방법처럼한다면 Manager.UI. 이런식으로 어떻게 접근을 해야할것같은데 어떻게 접근을 해야하는지 궁금합니다. 이런 총알 관련 UI가 UI_Scene을 상속받은 후 접근을 해야하는지..
아니면 UI_HpBar.cs 코드처럼 2번째 방법을 이용하는게 나중에 코드들이많아지면 이방법이 더 좋은방법인가요?.이방법도 옵저버패턴인지도 궁금합니다.!
답변 1
0
첫번째 방법이 더 낫고 특별한 경우가 아니라면
매 프레임마다 UI를 갱신할 필요는 없습니다.
Popup이 아니라 항상 게임에서 노출 된다면
UI_Scene을 상속 받아서 만들면 됩니다.
그리고 옵저버랑은 딱히 상관이 없습니다.
마지막으로 UI와 게임 데이터는 구분하는게 좋습니다.
총알 횟수는 단순히 UI에 표헌하는 것뿐 아니라
실질적으로 총알이 없으면 총을 못 쏠테니,
인게임 로직이랑도 연관성이 있겠죠.
이런 경우 괜히 UI 쪽 코드에 총알 데이터를 섞어 놓으면 나중에
관리하기가 힘들어집니다.
그런데 처음부터 구조에 대해
그렇게 일일히 생각할 필요는 없습니다.
이것저것 시도하다가 이런저런 문제를 만나다보면
어떤 상황에서 뭘 사용하면 좋을지는 저절로 알게 됩니다.