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

embedded/2024/9/23 9:35:48/

一.创建技能栏格子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.再添加如下蓝图,取消技能栏的锁定,基本上是复制上边的,链接要注意

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


http://www.ppmy.cn/embedded/103266.html

相关文章

Jmeter执行多机联合负载

1、注意事项,负载机必须要安装jre,控制机则必须安装jdk。要配置同网段ip,双向关闭防火墙。 每个负载机要平均承担线程数。 具体执行事项查看上面截图所示,控制机和负载机配置。 2、先给负载机设置ip地址,保持与控制…

maya python调试(pycharm)

maya里面调试代码一直用的print。遇到复杂点的类就感觉有点束手束脚的,因此整理了一下maya调试的一些方法 1.万能的pdb调试 pdb 有2种用法 1.非侵入式方法 (不用额外修改源代码,在命令行下直接运行就能调试) 常规用法&#xf…

自动化任务工具 | zTasker v1.97.1 绿色版

在自动化任务管理领域,一款名为zTasker的软件以其卓越的性能和易用性脱颖而出。今天,电脑天空将为大家详细介绍这款软件的亮点和使用场景。 功能特点 1. 轻量级设计,快速启动 zTasker以其小巧的体积和快速的启动速度,为用户提供…

QT: 为什么不把 showEvent 这一类事件设计成信号?

在 Qt 框架中,showEvent 和其他事件处理函数(如 keyPressEvent, mousePressEvent 等)并不是被设计成信号(signal)的原因,主要涉及到它们的设计初衷和用途的不同。下面是一些解释为什么它们不是信号的原因&a…

IPv4和IPv6的区别是什么?什么是局域网和广域网,公网IP和私有IP?

文章目录 1.基本网络2.局域网3.广域网4.IPv4与NAT5.公网IP和私有IP6.IPv6 1.基本网络 我们都知道计算机的数据都是存在各自硬盘中的,与其他计算机之间没有人任务关系. 假设计算机A需要给计算机B发送数据,可以选择使用U盘这类移动存储数据来拷贝数据来实现数据交互,但是这样一…

python批量生成sql用于创建500个用户

创建500个用户,分别为jmeter001-jmeter500,密码都是123,手动添加不现实,用客户端复制粘贴表数据也要添加很久,因此想批量生成500条插入的sql,如下: start_num 1 end_num 500 insert_sql &quo…

JAVA_12

JAVA_12 JAVA容器HashMap1.HashMap2.数据结构中由数组和链表来实现对数据的存储,他们各有特点。3.equals和hashcode通常需要一起重写!4.手写HashMap5.手写MyHashMap JAVA容器HashMap 1.HashMap 底层实现采用了哈希表,这是一种非常重要的数据结构。 对于…

Vue3其他Api

1.shallowRef与shallowReactive <template><div class"app"><h2>求和为:{{ sum }}</h2><h2>名字为:{{ person.name }}</h2><h2>年龄为:{{ person.age }}</h2><button click"sum 1">sum1</butto…