[C#, 유니티] Unity3D_FPS UI

2022. 8. 18. 16:38코딩 2막 <C#개념편>

728x90

UI (user interface)

사용자와의 상호작용을 위한 UI

예를 들면 버튼이라는 인터페이스를 통해 화면전환을 한다던가

플레이어의 체력, 경험치같은 수치적인 부분들을 UI를 통해 보여질수도 있고

현재 위치와 주변의 정찰을 위한 맵을 UI를 통해 사용자간에 편의를 위한 인터페이스라고 보면 좋겠다


그럼 UI를 다루기 위해 유니티에서 알아야 할 부분들에 대해서 정리해보겠다

1. 캔버스

2. 기본 레이아웃

앵커는 해상도에 영향을 받는데 앵커가 없다면 해상도에 관계없이 위치하는 텍스트를 보지 못할수도 있고

애매한 위치에 있을 수 있다. 따라서 앵커지정은 레이아웃에서 중요하다

3. 비주얼 컴포넌트

싱글톤

TextMesh 생성

Canvas

카메라overlay방식 vs worldspace방식

 

overlay방식으로 게임을 만들겠습니다

canvas render mode

Scale with Screen Size

canvas scaler

GameManager

게임의 진행을 위해 필요한 요소를 관리하는 게임메니저

보통의 경우 게임마다 하나씩 존재

매니저의 객체는 게임에서 관리하기위해 필요

 

타겟을 잡으면 스코어가 1점씩 증가하는 UI를 관리해주기 위해 게임메니저를 쓰겠습니다

게임성을 위해 타겟의 생성은 코루틴을 써서 랜덤한 위치에서 생성이 되며 반복되는 시간안에 쏘지 못하면

사라지는 방식을 채택했습니다

싱글톤을 사용하여 게임메니저의 'score'를 다른 클래스에서 공유할 수 있습니다

게임을 시작하기 위해서 startTarget이라는 오브젝트를 만들어

스타트타겟을 총으로 맞추면 게임이 시작됩니다

startTarget 스크립트
target 스크립트


결과

참고

 

싱글톤 패턴(Singleton pattern) | 👨🏻‍💻 Tech Interview

싱글톤 패턴(Singleton pattern) 애플리케이션이 시작될 때, 어떤 클래스가 최초 한 번만 메모리를 할당(static)하고 해당 메모리에 인스턴스를 만들어 사용하는 패턴 즉, 싱글톤 패턴은 '하나'의 인스

gyoogle.dev


공감해주셔서 감사합니다

728x90