在项目中,有时您可能希望播放器通过将其拖动到屏幕上来与用户界面元素进行交互。这可以是设置界面布局(放置健康指示器或单位框架)或与游戏系统进行交互,例如库存屏幕(在周围添加/删除项目)。使用UMG,您可以使用DragAndDropOperation节点创建这些类型的交互, 并根据您的交互方法覆盖一些继承的Blueprint函数。
项目设置
在开始之前,我们需要在项目设置中创建一些资产。
- 在内容浏览器,创建三个控件蓝图,这是所谓的:DragWidget,healthbar和HUD。 data-srcset="" />在此示例中,我们要拖动的元素是HealthBar小部件,它将放置在HUD中。我们将以与健康栏相同的形式创建并拖动名为DragWidget的小部件,而不是在周围拖动实际的健康栏。影动UE4网提供
- 单击右键鼠标按钮在内容浏览器,并创建一个新的蓝图类的类DragDropOperation并将其命名为WidgetDrag。 data-srcset="" />这个专门的Blueprint类将使我们能够将信息作为拖放动作的一部分进行传递。
- 打开WidgetDrag,然后创建一个变量的用户 控件与名WidgetReference并使其可编辑和暴露的菌种。 data-srcset="" />这将用于存储我们要拖动到屏幕上的UMG小部件。
- 创建另一个类型为Vector 2D的变量DragOffset ,该变量将为Editable并在Spawn上公开。 data-srcset="" />这将用于抵消我们开始拖动和放置小部件的位置。