【UE】制作可拖动的UI

效果 

步骤

1. 新建一个控件蓝图并打开

 这里我在画布面板中加了一个垂直框,垂直框内包含一个按钮和一个图像控件

 我设置图像控件占垂直框的2/3,按钮占1/3

 添加按钮按压事件、松开事件

 在控件蓝图的事件图表中添加如下节点,其中“Close”、“Open”和“Location”是三个自定义事件。如下逻辑的意思是当“Open”执行时,就每0.01s执行“Location”,直到“Close”执行时就停止执行“Location”

 “Location”执行后获取鼠标的位置(一个2D向量)然后作为变量

 变量命名为“MousePosition”

 将垂直框设置为变量

 将鼠标当前的位置设置给垂直框

按压按钮执行“Open”,松开执行“Close”

 2. 打开关卡蓝图,将控件蓝图添加到视口

 此时运行游戏就可以拖拽垂直框了。

但是有个小问题是,按下按钮是,鼠标位置会有一个偏移,因此添加如下节点:

将视口上鼠标位置和画布插槽位置相减的值提升为变量

 变量命名为“SubtractPosition”

 运行效果如文章开头所示。

猜你喜欢

转载自blog.csdn.net/ChaoChao66666/article/details/130891127