Make Unreal REAL.
article thumbnail
Unreal Engine: Ultimate Survival Horror Course

 

드롭다운 이미지를 Import한다.

 

 

인벤토리 메뉴에 표시할 W_InventoryDropDown 드롭다운 위젯을 생성한다.

 

모든 버튼에 Is Focusable을 해제해 Focus에 관계 없이 작동하도록 만든다.

 

 

W_InventoryMenu에 W_InventoryDropDown 위젯을 추가한다.

 


W_InventorySlot의 Initialize 함수에 W_InventoryMenu 타입의 InventoryMenu 입력을 생성한다.

 

Promote Variable을 선택해 W_InventoryMenuRef라는 변수로 사용한다.

 


W_InventoryMenu에 드롭다운을 여는 OpenDropFownMenu 커스텀 이벤트를 생성하고 구현한다.


Slot as Uniform Grid Slot 노드로 위젯을 Uniform Grid Panel Slot으로 변환할 수 있다.

 

Get Desired Size 노드로 위젯의 크기를 가져올 수 있다.


Set Render Translation 노드로 위젯이 렌더링될 오프셋을 지정할 수 있다.

 


W_InventorySlot에 SlotButton의 OnReleased 이벤트를 처리하는 부분을 추가한다.

 


W_InventoryMenu에서 화면 전체를 차지하는 매우 큰 버튼 배치하고 투명하게 처리한다.

 

드롭다운 메뉴가 보일 때 바깥 영역을 클릭하면 다시 닫도록 하기 위함이다.

 

 

CloseDropDownMenu 커스텀 이벤트를 추가하고 CloseDropDownMenuButton의 On Pressed 이벤트에 처리하여 드롭다운 메뉴를 닫는다.

 

Event Tick을 이용해 매 프레임마다 Set User Focus 노드로 CloseDropDownMenuButton을 포커스시킨다.

  • 드롭다운 메뉴에 포커스가 있을 경우 바깥을 2번 클릭해야 드롭다운이 닫히기 때문이다.

 

 

드롭다운 메뉴 추가에 성공했다.

 

profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그