虚幻引擎4中UI的OnDrop功能

虚幻引擎4中UI的OnDrop功能

在这里,我们设置了主HUD小部件蓝图,并重新定义了执行OnDrop函数时发生的情况。

  1. 打开HUD小部件蓝图,然后在“ 详细信息”面板中,将“ 画布”面板的“ 可见性”值设置为“ 可见  ”  。DragDrop13-UI-ue4 data-srcset="" />

我们在Health Bar小部件内进行拖放检测,但是,当我们释放鼠标左键时,我们要将其添加到HUD小部件Blueprint小部件中。为了让HUD接收点击检测,我们需要将Visibility参数设置为Visible

2.在“组件面板”窗口中,将“ 健康栏”窗口小部件添加到图表中所需的位置。DragDrop14-UI-ue4 data-srcset="" />

3.切换到“ 图形”模式,然后在“ 我的蓝图”面板中添加OnDrop功能的替代。DragDrop15-UI-ue4 data-srcset="" />

4.在OnDrop内,将操作拖动到Cast 并拖动WidgetDrag,然后获取Widget ReferenceGet Drag OffsetDragDrop16-UI-ue4 data-srcset="" />

我们提供此处以检查作为OnDrop函数一部分执行的操作类型,它是Widget拖动吗?如果是这样,我们将获得WidgetReference(作为可拖动的小部件通过其传递)以及DragOffset(或从其开始拖动的位置)。

5.打开我的几何指针的事件,使用节点绝对为本地GetScreenSpacePosition,如图所示连接。DragDrop17-UI-ue4 data-srcset="" />

这将告诉我们在2D空间中释放鼠标左键以离开小部件的位置。我们将使用减负DragOffset来确定放置小部件时应将其放置在何处。

6. 从绝对值到本地节点的返回值中减去DragOffset。INCG影动网提供。UpdateDragDrop1-UI-ue4 data-srcset="" />

7.禁用“ 窗口小部件引用”,在“ 添加到视口”和“ 在视口中设置位置”节点旁边添加“ 从父级移除” 

8.如下所示连接节点,然后清除“ 删除DPIScale”复选框,然后在“ 返回节点”节点上检查“ 返回值 ” 。Update-DragDrop2-UI-ue4 data-srcset="" />

由于我们不需要删除DPI缩放比例,因此取消选中删除DPIScale复选框,然后选择返回值复选框,并且我们已经处理了此函数,因此我们返回-true值。使用此脚本,我们首先删除现有的Health Bar小部件,然后将其重新添加到屏幕上相对于我们拖放的新位置。

我们的HUD配置为可以处理拖放式窗口小部件,并显示健康栏。在本教程的下一步也是最后一步,我们将自定义拖放小部件以模拟健康栏的形状,并指示“蓝图角色”将HUD添加到视口中。

Author: incg_UE4

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注