UI?
UITransform Component
UIGroup Component
UI 활용 예시
버튼 클릭시 Console 출력(Toast 띄우기)
버튼 클릭시 텍스트 바꾸기
HP바 만들기
ex) 버튼, 이미지, 인벤토리, 상점
ex) 왼쪽 : 0,0 -> 원점 / 오른쪽 : 100,100 -> 원점으로부터 x(100), y(100)
Width, Height : 추가한 ui의 가로, 세로 길이
Anchor Presets : ui의 상대적인 상,화,좌,우 위치값과 크기를 설정할 수 있다.
cf) 기기별로 스크린 사이즈가 다르므로 ui가 화면 밖으로 벗어나거나 ui가 위치해야하는 공간이 기기별로 다른 경우를 방지할 수 있다.
--> 큰박스-작은박스가 부모-자식 관계를 이루었을 때, Anchor Presets을 좌하단으로 설정하게 되면
--> 부모인 큰박스의 크기와 상관없이 큰박스의 좌하단으로부터 일정한 위치에 고정된다.
--> Anchor Presets을 하단 stretch으로 설정하게 되면
--> 부모인 큰박스의 크기와 상관없이 작은박스의 너비가 가변적으로 변해서 큰박스를 벗어나는 경우가 없다.
사용하고자하는 UI를 빠르게 찾고 Group단위로 체계적으로 관리하기위해 사용하는 Component
DefaultShow : True값을 가지고 플레이를 하게되면 ui가 화면에 보여지게된다.
그룹편집창에서 UI생성, 삭제 및 Order를 설정할 수 있다.
맨 윗줄 entity MOD화이팅! ~ : MyUIComponent는 MOD화이팅! 이름을 가진 UI Entity를 감지한다.
log(Entity.TextComponent.Text) : MOD화이팅! 버튼 -> TextComponent -> Text출력
cf) 스크립트내용만 아래와 같이 작성하게되면 toast를 화면상에 띄울 수 있다.
cf) Property가 Sync가 아닌 None을 가지는 이유?
--> map에있는 Entity는 Server와 Client 두 곳에 모두 존재하지만 ui에있는 Entity는 Client에만 존재하기 때문이다.
--> 따라서, ui하위에 존재하는 Entity는 서버에 없으므로 클라이언트<->서버 동기화모드인 Sync를 사용할 수 없다.
ex) FillAmount : 0.5일 때 HP바의 모습
OnUpdate함수 : 이벤트가 발생해서 업데이트가 일어날때마다 FillAmount의 값을 변경해서 HP가 감소하는것과같은 시각적효과를 준다.
Default Player의 hp를 MaxHp로 나눔으로써 FillAmount 의 비율을 변경할 수 있다.
ex) MaxHp = 1000, hp = 1000 --> FillAmount = 1
MaxHp = 1000, hp = 950 --> FillAmount = 0.95(HP가 감소한것처럼 보임)
cf) 감소하는 시각적 효과를 주기위해 빨간바 뒤에 하얀색바를 깔아주었다.
HP : 빨간색 바
동일한 Entity를 연속적, 반복적으로 만들어주는 기능을 제공하는 Component
Scroll의 형태도 세가지(Horizontal, Vertical, Grid) 형태로 제공된다.
copy : 함수가 불릴때마다 버튼1 Entity를 복제한다.
HandleKeyDownEvent : 'A'가 눌릴때마다 copy함수를 호출해서 버튼1을 복제한다.
--> map과 동일한 Entity를 ui에서 만들경우 Client뿐만아니라 Server에서도 접근이 가능하다는 장점이 있다.
cf) PreserveSprite
-> AspectOnly : SpriteRUID값을 그대로 가져왔을때 이미지가 찌그러지는 현상을 막아주는 기능
-> NativeSize : map에서의 Entity 사이즈를 그대로 가져와서 표현해줄 수 있는 기능