虚幻5|(1)技能栏快捷格子的制作|(2)如何在游戏进行的时候显示鼠标,使用鼠标操作UI||(3)改进技能释放

一.创建技能栏格子UI

1.创建一个UI控件蓝图,命名为技能栏格子(如何创建我就不多说了,学到这了基础知识应该有所掌握了)

2.添加一个边界和垂直框

3.选中边界,右侧细节栏更改如下

4.再拖入一个文本块,做垂直框的子级

设计文本框,这里看你怎么设置了

我是这样的,至少要居中

5.添加一个按钮,作垂直框的子级。命名为技能按钮,作为一个点击或拖拽

6.添加一个尺寸框,作技能按钮的子级,

7.再添加一个图像,作尺寸框的子级,命名为技能图标

8.点击尺寸框设置填充为2,还是看图吧,如下

9.技能按钮设置,选中技能按钮

设置点按方法

10.给技能图标的笔刷创建绑定

我这里是创建后的

da

在创建绑定后的图表,更改函数命名,添加三个变量,并对空样式进行细节编辑,编译一下


二.空样式细节编辑如下

1.展开普通

展开其着色,设计成半透明

固定半径

2.展开已悬停

已悬停都调得跟上面的着色一个样,

唯有颜色要调一下,可以自己调一个,我的是红色,鼠标放上去显示红色

透明度可不用调

3.展开已按压

已按压也跟展开着色一样,颜色可改可不改

透明度可不用调

这些都可以后续调整,不影响效果

4.复制粘贴三个空样式变量,改命如下,并按改名的名字提示,改颜色或其它等等

我把技能激活样式的颜色调得比较深,容易发现技能被激活

你也可以尝试后续更改

5.打开事件图表,编辑如下

三.技能UI

1.再创建一个用户界面,控件蓝图,命名为技能UI,用于盛放技能栏

2.添加以下面板

更改屏蔽右上角为屏幕上所需

3.选中边界,细节栏编辑

4.选中尺寸框,细节栏编辑

5.选中技能网格,改命和勾选为变量

6.打开图表,编辑如下

我们需要把技能栏这些一块块的格子显示到技能UI上

注意Last index自己按需设置,设置的是格子数

这些是把技能栏的格子,放在技能UI上,技能UI还没有放在面板上,我们没有设置放在画布面板上,所以需要我们将技能UI放在主角血量体力设置的UI上,因为只有这上面有画布面板


四.显示技能UI在主角的血量UI上

1.打开Player_Hud

2.打开后,拖入技能UI

自己调整位置

运行一下发现只有一个技能栏格子

3.我们打开技能UI,更改图表里的列

运行一下,可以发现有四个格子,就是之前说的Last index为4,索引从0~4,总共有5个数组

4.由于我们的格子命名都是文本块,我们就要打开技能栏格子的UI控件蓝图

进行以下设置

选中我们的文本块,改命名为快捷数字,勾选变量

打开图表,创建一个变量,类型为文字,命名为快捷栏数字,设置成公开,可编辑实例

再回到设计器,选中快捷数字文本块,右侧细节栏更改文本绑定

5.打开技能UI,编辑或者刷新一下创建技能栏格子控件蓝图

再添加转文本,如下

运行一下游戏,可以发现有数字了

6.找到之前讲的技能释放,创建的角色技能分类_物理枚举,改名为角色技能名字

7.创建一个蓝图的结构,命名为技能结构

8.打开,编辑如下

我们还可以添加其他的,一些伤害数值等

引用类型太像了,不要搞混

9.创建一个数据表格,命名为技能表数据

10,打开后添加如下

11.打开技能栏格子控件蓝图UI,打开图表

更改变量技能图标2d的细节,技能图表2d为可编辑实例和生成时公开

方便把多个不同的图片传递到技能UI上

12.打开技能UI,刷新我们的创建技能栏格子控件,编辑其余蓝图如下

刷新后可以看到技能图标2D的结点

13.打开技能栏格子

添加两个变量,分别引用角色技能分类和角色技能名字的枚举变量,分别命名为技能分类和技能名字,都设置可编辑和生成时公开

14.打开技能UI,继续编辑图表

刷新一下创建技能栏格子控件,得到刚刚添加的两个变量,再跟break链接

运行后,发现只有一个图标显示

还需要在false添加一个create控件

15.这个控件就默认啥也没有,不用链接其他的,为了保险起见,我们可以更改技能名字和技能分类为无,但这里改不了,就需要在技能的枚举里添加两个无

打开角色技能分类的枚举和角色技能名字的枚举,都添加一个枚举器,命名为无,并拖到第一位置

16.打开技能UI,编辑图表,找到false链接的create控件,改成无,如下

再create后继续编辑,复制粘贴真true之后的,一模一样,链接时仔细细心点

运行一下可以看到角色,格子全部显示出来了


五.添加输入操作,在游戏进行模式下,显示鼠标,使用鼠标操作UI

创建显示鼠标的键和数字键1,2,3等,用来切换角色或者释放技能

我的是设置Alt键为显示鼠标,E,Q释放技能和大招,数字键用来切换角色

创建好以上的

1.打开主角的角色蓝图,事件图表,编辑以下蓝图

在我们映射输入,控制玩家控制器的cast to这里,提升为变量

链接一下,我这里忘链接了

2.编辑以下蓝图,用于显示鼠标alt

我们需要增加布尔变量UI,Player Hud是我们的UI,这个变量你可以用其他的,这个就看自己的想象力了

这里我们设置了UI的布尔值

3.这样我们在技能释放,还有移动输入,加上着UI布尔值条件branch,这样显示鼠标时,我们按不了释放技能及移动键

例如,


六.改进技能释放

1.找到技能释放的地方,技能分类和物理技能分类提升为变量

2.双击点开技能选择,目标是战斗组件这个蓝图

修改输入变量为如下

3.再回到主角的角色蓝图的技能释放

修改变量名字

4.打开技能栏格子,把技能名字和技能分类变量的默认值改为无

5.打开技能表数据(数据表格)

选择我们对应想要的技能

6.回到我们主角的角色蓝图的技能释放的位置,找其附近,添加以下蓝图

尝试运行,打印字符串,看看是不是打印了自己的技能,我的是没问题的

7.再添加如下蓝图,取消技能栏的锁定,基本上是复制上边的,链接要注意

我们运行一下,好这样就可以锁定技能,也可以解释技能并释放技能

相关推荐
西洼工作室19 分钟前
【java 正则表达式 笔记】
java·笔记·正则表达式
染指111038 分钟前
50.第二阶段x86游戏实战2-lua获取本地寻路,跨地图寻路和获取当前地图id
c++·windows·lua·游戏安全·反游戏外挂·游戏逆向·luastudio
初学者7.40 分钟前
Webpack学习笔记(2)
笔记·学习·webpack
Code out the future1 小时前
【C++——临时对象,const T&】
开发语言·c++
sam-zy1 小时前
MFC用List Control 和Picture控件实现界面切换效果
c++·mfc
aaasssdddd962 小时前
C++的封装(十四):《设计模式》这本书
数据结构·c++·设计模式
发呆小天才O.oᯅ2 小时前
YOLOv8目标检测——详细记录使用OpenCV的DNN模块进行推理部署C++实现
c++·图像处理·人工智能·opencv·yolo·目标检测·dnn
新手上路狂踩坑2 小时前
Android Studio的笔记--BusyBox相关
android·linux·笔记·android studio·busybox
qincjun2 小时前
文件I/O操作:C++
开发语言·c++
星语心愿.3 小时前
D4——贪心练习
c++·算法·贪心算法