인프런 커뮤니티 질문&답변

toon88님의 프로필 이미지
toon88

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

UI 접근 질문이요.!!

작성

·

175

0

강사님 강의도 듣고 다른 강의도 들어보면서 UI관련 궁금한점이 생겼습니다.!!

예를들어 총을발사 후  총알수보여주는 UI에서 총알수를 변경을 하고싶은데요.  어떤식으로 접근해야하는지 궁금합니다.

예를들어 

총 관련스크립트{

       총알 발사 => 총알숫자감소

       총알관련 UI접근  =>감소

}

UI스크립트{

    Update()  {

            총관련스크립트에서 총알 수를 읽어 온 후 UI변경

     }

}

주로 첫번째 방법을 이용했었는데요. 첫번째 방법처럼한다면 Manager.UI. 이런식으로 어떻게 접근을 해야할것같은데 어떻게 접근을 해야하는지 궁금합니다. 이런 총알 관련 UI가 UI_Scene을 상속받은 후 접근을 해야하는지..

아니면 UI_HpBar.cs 코드처럼 2번째 방법을 이용하는게 나중에 코드들이많아지면 이방법이 더 좋은방법인가요?.이방법도 옵저버패턴인지도 궁금합니다.!

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

첫번째 방법이 더 낫고 특별한 경우가 아니라면
매 프레임마다 UI를 갱신할 필요는 없습니다.
Popup이 아니라 항상 게임에서 노출 된다면
UI_Scene을 상속 받아서 만들면 됩니다.
그리고 옵저버랑은 딱히 상관이 없습니다.

마지막으로 UI와 게임 데이터는 구분하는게 좋습니다.
총알 횟수는 단순히 UI에 표헌하는 것뿐 아니라
실질적으로 총알이 없으면 총을 못 쏠테니,
인게임 로직이랑도 연관성이 있겠죠.
이런 경우 괜히 UI 쪽 코드에 총알 데이터를 섞어 놓으면 나중에
관리하기가 힘들어집니다.

그런데 처음부터 구조에 대해
그렇게 일일히 생각할 필요는 없습니다.
이것저것 시도하다가 이런저런 문제를 만나다보면
어떤 상황에서 뭘 사용하면 좋을지는 저절로 알게 됩니다.

toon88님의 프로필 이미지
toon88

작성한 질문수

질문하기