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

0
28
Функция OnDrop для UI в Unreal Engine 4

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

  1. Откройте HUD Widget Blueprint, затем на панели Details, установите значение Visibility на Visible для панели Canvas Panel.значение Visibility UI ue4

Мы проводим обнаружение перетаскивания внутри виджета Health Bar, однако, когда мы отпускаем левую кнопку мышки, мы хотим добавить ее в наш виджет HUD Widget Blueprint. Чтобы наш HUD получал обнаружение попадания, нам нужно установить для параметра Visibility значение Visible.

2. В окне Palette добавьте виджет Health Bar на график в нужном месте.14 перетащить интерфейс ue4

3. Перейдите в режим Графика, затем добавьте переопределение функции OnDrop на панели My Blueprint.переопределение функции OnDrop ue4

4. Внутри OnDrop перетащите операцию и Cast to WidgetDrag, затем – к Get Widget Reference и Get Drag Offset.Cast to WidgetDrag ue4

Мы приводим здесь, чтобы проверить, какой тип операции выполняется как часть функции OnDrop, есть ли это Widget Drag? Если это так, мы получаем WidgetReference (через который мы прошли как перетаскиваемый виджет), а также DragOffset (или позицию, с которой мы начали перетаскивание).

5. Выключите My Geometry и Pointer Event, используйте узлы Absolute to Local и GetScreenSpacePosition и подключитесь, как показано.узел Absolute to Local ue4

Это скажет нам положение в 2D-пространстве, где мы отпустили левую кнопку мышки, чтобы оставить виджет. Мы будем использовать этот минус DragOffset, чтобы определить, куда мы должны поместить виджет, когда он будет отброшен.

6. Отнимите DragOffset из Return Value от узла Absolute to Local.DragOffset UI ue4

7. Отключите Widget Reference, добавьте Remove from Parent, следующий за узлами Add to Viewport и Set Position in Viewport.

8. Подключите узлы, как показано ниже, и снимите флажок Remove DPIScale и проверьте Return Value на узле Return Node.Функция OnDrop для UI в Unreal Engine 4

Мы снимаем флажок Remove DPIScale и устанавливаем флажки Return Value, поскольку нам не нужно удалять Масштабирование DPI, и мы обработали эту функцию, поэтому мы возвращаем значение -true. С помощью этого скрипта мы сначала удаляем существующий виджет Health Bar, а затем повторно добавляем его на экран в новом месте относительно нашего смещения перетаскивания.

Наш HUD настроен на обработку сбрасывания нашего перетаскиваемого виджета, и он отображает нашу панель здоровья (Health Bar). На следующем и последнем шаге этого урока мы настроим наш перетаскиваемый виджет, чтобы имитировать форму нашей панели здоровья, а также проинструктируем наш Blueprint Персонажа добавить HUD в область просмотра.

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

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