虚幻5|技能栏UI优化(2)——优化技能UI并实现技能栏的拖拽操作

这篇文章里,前情提要,文章里的序列变量应命名为序号,我命名错了,虽然不差,但为了后面更好的理解

一.刷新技能栏,用于刷新上一章文章的初始化技能栏

1.打开技能栏格子,打开图表,添加以下两个变量

并添加以下蓝图

还有一个蓝图要删掉,该图片把右侧的技能图标get有效变量删掉,我这里忘删了

2.打开技能UI

添加以下蓝图

添加一个函数,命名为刷新

打开刷新函数

二.

1.打开技能栏格子UI,打开图表,重载一个函数,按下鼠标按钮时函数

2.再创建一个重载函数,按下预览鼠标按钮时

上面就是鼠标选中的显示

3.再创建两个重载函数,用于拖拽,一个是放置时,另一个是发现拖动时

拖动之后要进行格子切换,要切换什么数据,就需要建立两个控件

三.第一个控件,是控件蓝图是UI,拖拽的技能格子

1.直接复制粘贴技能栏格子UI,粘贴后命名为拖拽的技能格子

2.打开后,删掉上面的文本块

3.打开图表,删除样式事件和变量,删成如下

4.创建纹理2D变量,并删除,创建过的鼠标和拖拽重载函数

四.创建一个蓝图,查找object的drag drop operation(拖拽操作),实现拖拽操作

1.创建后,命名为DragDrog

2.打开技能栏格子UI的图表,把下面三个变量复制粘贴到这个DragDrop,同时都设置为可编辑和公开

我下面的图片,没有设置成公开,是错的,要勾选

3.打开技能栏格子UI的图表,找到on drag detected,编辑如下

4.打开拖拽的技能格子UI的图表,把变量里的,图表2D,引用类型为纹理2D,设置成可编辑和公开

记得编译

5.再回到技能栏格子UI的图表,扎到重载的on drag detected刷新一下创建拖拽的技能格子控件蓝图

得到图标2D结点

链接如下

好的,运行测试拖拽技能图标

发现还是无法拖拽!

小编很快找到问题所在了

打开技能UI控件蓝图,打开初始化函数,找到这个位置,并链接红圈部分

我们可以把中断break部分给删除,但你才刚学不理解,可以先不删,以防后续错误

其余的技能格子也一样

接着,打开技能栏格子UI图表,事件图表,在事件构造,引用玩家类型

五.实现拖动的图标可以跟另一个图表更换位置,或者拖放在另一个空白格子

1.打开技能栏格子UI,打开图表,打开OnDrop重载函数

2.打开主角的角色蓝图,添加一个整型变量,命名为上一次技能序号,设置它的默认值为-1

-1代表的是没有任何技能被激活

3.打开技能栏格子UI,打开图表,在On drop里继续编辑

这里也是终于用到,最开始创建的刷新函数了

4.打开主角的角色蓝图,把IA_2后面的技能选择蓝图,全部折叠成宏,命名为技能选择

打开宏,删掉不激活的判断,连跟后面这条删了

添加如下

比较长,但有注释

按序号编写,编写完之后,看注释理解

复制粘贴上,自己多做的数字键,按输入数字键的多少对应技能序号

运行测试一下,小编是成功的

多设置几个,拖拉原位的技能图标放到其他格子里,进行检查,完成技能栏的拖拽操作

相关推荐
Dlrbw2 分钟前
FPGA——DDS信号发生器设计
笔记·fpga开发
05091520 分钟前
测试基础笔记第十一天
java·数据库·笔记
快乐点吧30 分钟前
【MongoDB + Spark】 技术问题汇总与解决方案笔记
笔记·mongodb·spark
是阿根1 小时前
unity使用iTextSharp生成PDF文件
unity·c#·游戏引擎
子燕若水1 小时前
“Daz to Unreal”将 G8 角色(包括表情)从 daz3d 导入到 UE5。在 UE5 中,我发现使用某个表情并与闭眼混合后,上眼睑出现了问题
3d·ue5
吴_知遇1 小时前
【华为OD机试真题】428、连续字母长度 | 机试真题+思路参考+代码解析(E卷)(C++)
开发语言·c++·华为od
LaoWaiHang2 小时前
MFC案例:使用键盘按键放大、缩小窗口图像的实验
c++·mfc
到底怎么取名字不会重复2 小时前
Day10——LeetCode15&560
c++·算法·leetcode·哈希算法·散列表
宁酱醇2 小时前
各种各样的bug合集
开发语言·笔记·python·gitlab·bug
DKPT2 小时前
正则表达式
java·数据库·笔记·学习·正则表达式