UI图形拖动判断 - 上传

创建相关蓝图

  1. 新建蓝图,在下方搜索DragDropOperation,这个蓝图主要用来存放拖动信息,以及枚举,同样用来存放可能出现的拖放控件信息

    image-20240310145748514

    这里我创建了两个变量、一个函数

    image-20240310151431499

    image-20240310151446544

    image-20240310151511073

  2. 新建相关UI

    右键->用户界面->控件蓝图

    image-20240310150037179

这里我分别创建了:

  • 需要拖动的UI:W_遗迹大门个
  • 用于接受拖动控件的UI:W_遗迹大门插槽
  • 以及主UI:W_遗迹大门关卡

相关设计器内容如下:
image-20240310150315823image-20240310150327972image-20240310150339340

编辑相关函数

需要拖动的控件蓝图

对于需要拖动的控件蓝图,需要重载两类函数:鼠标按钮按下、检测到拖动

image-20240310150753935

鼠标按钮按下函数这里,只需要设置什么按键

image-20240310150901644

检测拖动函数,需要设置拖动的蓝图类,也就是最开始创建的DragDropOperation蓝图,这里的Default Drag Visual就是拖动时,鼠标上显示的内容,Pivot是指鼠标上显示的内容在鼠标光标的什么位置,图块信息表示当时拖动的是哪一个控件

image-20240310151159055

接受拖动的控件蓝图

现在来编写按照示例中用来识别拖动的插槽蓝图

同样重载当落下时的函数,内容如下

image-20240310152006020

通过cast to BP_DragWidget接受上一步选择的枚举信息,并根据信息替换插槽的图片,最后调用一次事件分发器中的WhenDrop

主UI的控件蓝图

示例中需要判断当前拖动控件是否按照正确顺序放入插槽,因此有如下内容

image-20240310153039477

接受拖动的控件绑定前一步中出现的事件分发器WhenDrop,意思是,每当接受拖动的控件调用该函数时,就会执行当前在UI中的自定义事件

总结

如果只是简单的拖放操作,重点在重载相关的三个函数

内容到这里就结束了,如果有疑问可以在下方评论

的自定义事件

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值