3. 드래그 감지 시

이번 단계에서는 드래그를 감지했을 때 어떤 일이 벌어질지 구성합니다.

Windows
MacOS
Linux
이 페이지의 내용:

이번 단계에서는 플레이어가 사실상 HealthBar 를 화면에서 드래그할 때 무슨 일이 벌어질지를 결정합니다.

단계

  1. OnDragDetected 함수를 열고 우클릭Create Widget 노드를 추가, Drag Widget 설정한 뒤 탐색 합니다.

    UpdatedDragDrop1.png

    드래그가 감지되면, (우리 드래그 위젯을 저장할) DragWidget 을 만들 것입니다. OnDragDetected 함수 작업을 계속하기 전, DragWidget 이 생성되면 Health Bar 위젯을 레퍼런스로 전달해 줘야 합니다.

  2. DragWidget 을 열고 User Widget 변수를 추가한 뒤 이름은 WidgetReference 라 한 뒤, 스폰시 노출편집가능 설정합니다.

    UpdatedDragDrop2.png

  3. 컴파일 하고 DragWidget 을 닫은 뒤, HealthBar 위젯 블루프린트와 OnDragDetected 함수를 다시 엽니다.

  4. SelfWidget Reference 로 할당하고 Return Value변수로 승격 시켜 Dragged Widget 이라 한 뒤 아래와 같이 연결합니다.

    UpdatedDragDrop3.png

    이제 드래그 위젯이 생성되면, 기존 Health Bar 위젯으로의 레퍼런스가 있을 것입니다. 더미 드래그 위젯도 변수로 승격시켜 나중에 접근하고 위젯을 드롭하기로 했을 때 표시에서 제거할 수 있도록 합니다.

  5. 우클릭 하고 DragAndDropOperation 노드 생성 후 Widget Drag 으로 설정, PivotMouse Down 으로 설정합니다.

    UpdatedDragDrop4.png

    피벗은 드래그 도중 포인터를 기준으로 위젯 비주얼이 나타날 위치를 결정합니다.

  6. 노드에서 SelfWidget Reference 로, DraggedWidgetDefault Drag Visual 로, Drag OffsetDrag Offset 로 추가합니다.

    클릭하면 원본을 확인합니다.

    위에서 어떤 위젯 블루프린트가 우리 레퍼런스인지, 드래그 비주얼은 무엇이어야 하는지를 나타내고, 드래그 시작을 위한 오프셋을 제공해 주었습니다. 노드에 기본적으로 오프셋 핀이 있지만, 자체 계산한 별도의 핀을 사용하여 마우스 버튼이 눌렸을 때 드래그 시작 위치를 결정하고 있습니다.

이제 남은 몇 가지 작업은 플레이어가 왼쪽 마우스 버튼을 뗄 때 무슨 일이 벌어지는가 결정하고 OnDrop 함수를 수행하는 것입니다. 또한 메인 HUD 위젯 블루프린트에 HealthBar 위젯을 추가하고 표시하도록 해 줘야 모든 것을 테스트할 수 있을 것입니다.

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback