Функция OnDragDetected для UI в Unreal Engine 4

0
32
Функция OnDragDetected для UI в Unreal Engine 4

На этом этапе мы определяем, что происходит, когда игрок фактически перетаскивает HealthBar по экрану.

  1. Откройте функцию OnDragDetected, щелкните правой кнопкой мышки и добавьте узел Create Widget, заданный как Drag Widget, затем перейдите к нему.перетащить UI ue4

При обнаружении перетаскивания мы создадим наш DragWidget (который будет содержать наш виджет перетаскивания). Прежде чем мы продолжим работу с нашей функцией OnDragDetected, нам нужно пройти через виджет Health Bar в качестве ссылки при создании DragWidget.

2. Откройте DragWidget и добавьте переменную User Widget с именем WidgetReference, установленную в Expose on Spawn и Editable.переменная WidgetReference ue4

3. Скомпилируйте и закройте DragWidget, затем снова откройте проект виджета HealthBar и функцию OnDragDetected.

4. Назначьте Self в качестве Widget Reference и увеличьте Return Value до переменной с именем Dragged Widget и подключитесь, как показано.переменная Dragged Widget ue4

Теперь, когда наш виджет перетаскивания создан, он будет иметь ссылку на существующий виджет Health Bar. Мы также продвигаем фиктивный виджет перетаскивания в переменную, чтобы впоследствии иметь к нему доступ и могли удалить его из отображения, когда мы решим удалить виджет.

5. Щелкните правой кнопкой мышки и создайте узел DragAndDropOperation, для которого установлено Widget Drag, а для Pivot установлено значение Mouse Down.узел DragAndDropOperation ue4

Pivot определяет, где будет отображаться визуальный виджет перетаскивания при перетаскивании относительно указателя, выполняющего операцию перетаскивания.

6. Добавьте Self в качестве Widget ReferenceDraggedWidget – в качестве Default Drag Visual, а Drag Offset – в качестве Drag Offset на узле.Функция OnDragDetected для UI в Unreal Engine 4

Выше мы указали, что Widget Blueprint является нашей ссылкой, каким должен быть визуальный элемент перетаскивания, и предоставили смещение, с которого можно начать перетаскивание. По умолчанию на узле есть смещенный штифт, однако мы используем свой собственный в наших собственных вычислениях, чтобы определить позицию, в которой нужно начать перетаскивание, когда Нажата Кнопка Мышки.

Последние несколько вещей, которые нам нужно сделать, это определить, что происходит, когда игрок отпускает левую кнопку мышки и выполняет функцию OnDrop. Нам также необходимо добавить виджет HealthBar в наш проект HUD Widget Blueprint и сообщить, что он должен отображаться перед тестированием.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя: