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번 클릭해야 드롭다운이 닫히기 때문이다.
드롭다운 메뉴 추가에 성공했다.
'Unreal Engine > Ultimate Survival Horror Course' 카테고리의 다른 글
인벤토리 아이템 버리기 (0) | 2023.02.05 |
---|---|
인벤토리 아이템 사용하기 (0) | 2023.02.05 |
실행 순서에 따른 배열 인덱스 오류 수정 (0) | 2023.02.03 |
인벤토리에 복수 아이템 추가하기 (0) | 2023.02.03 |
인벤토리 아이콘 갱신하기 (0) | 2023.02.03 |