77. UE5 RPG 创建角色的技能栏

在前面的文章里,我们实现了角色属性技能和场景。接下来,我们要优化角色显示UI,在屏幕底部显示角色血量,蓝量,技能和经验值。

创建新的用户控件

选择创建新的控件蓝图
在这里插入图片描述
父类为我们自定义的RPGUserWidget,这是我们增加了一些可以获取数据的C++类
在这里插入图片描述
因为它只需要在一部分区域显示,我们将它的尺寸修改为自定义
在这里插入图片描述
修改尺寸
在这里插入图片描述
添加一个覆层,命名为Overlay_Root
在这里插入图片描述
我们要左右两侧分别显示血量和蓝量,中间显示技能,这是使用水平框分割,命名为BaseBox
在这里插入图片描述
修改它的对齐为填充,这样,它就可以填充整个控件
在这里插入图片描述
接着在下面添加三个水平框,修改命名,方便后续维护
在这里插入图片描述
接着我们将其设置为填充,血量和蓝量框设置0.2,中间技能设置0.6,填充会按数值计算,将内部数值加起来,然后查看比例设置宽度占比
在这里插入图片描述
效果如下
在这里插入图片描述
技能框里面还要区分主动技能和被动技能,这里添加两个垂直框将其区分开
在这里插入图片描述
主动技能填充设置0.9, 被动技能设置0.1,效果如下
在这里插入图片描述
接着我们在主动技能这里增加三个框,上面显示名称的垂直框,下面为显示技能图标的水平框
在这里插入图片描述
修改名称,方便查看
在这里插入图片描述
修改它们的填充
在这里插入图片描述
接着,在顶部的盒子内再增加两个水平框,第一个水平框用于显示下面为主动技能,另一个用于提示玩家技能键位
在这里插入图片描述
它们两个设置为填充,然后对等分空间即可
在这里插入图片描述
到这里,我们将区域划分完成,以下是完整效果,后面我们将填充图标和文字
在这里插入图片描述

填充图标

我们将之前制作的血量拖入
在这里插入图片描述
将其设置为填充
在这里插入图片描述
蓝量进行同样的操作,结果如下
在这里插入图片描述
接着,在OffensiveText下面添加一个文本
在这里插入图片描述
按照以下设置居中
在这里插入图片描述
然后修改样式,有一个不错的效果
在这里插入图片描述
然后在被动技能这边,添加两个垂直框
在这里插入图片描述
将其设置为填充,一个0.2,显示文字,一个0.8,用于装填两个被动技能
在这里插入图片描述
将主动技能的文字复制一下,修改文字内容
在这里插入图片描述
接下来,我们设置按键的键位提示文字,添加6个垂直框,并设置填充
在这里插入图片描述
将主动技能文本框赋值,并修改显示内容
在这里插入图片描述
接着在显示技能的区域创建六个对于的垂直框,用于后续添加技能图标
在这里插入图片描述
接着在被动技能框里增加三个垂直框,修改名称,两个用于放置被动技能,一个用于填充空白
在这里插入图片描述
将它们都设置为填充,然后将填充空白的填充值修改为0.6
在这里插入图片描述

创建技能控件

创建一个SpellGlobes文件夹,存储我们接下来的用户控件
在这里插入图片描述
基于以前创建的用户控件基类,创建一个新的用户控件蓝图类
在这里插入图片描述
命名为WBP_SpellGlobe
在这里插入图片描述
这个内容的创建和我们之前制作血瓶和蓝瓶有相似之处,文章在8. UE5 RPG创建UI(上),区别在于技能不是进度条,所以,我们按照之前的做法,将进度条去掉,修改为图标即可。
我们将基础的制作完成
在这里插入图片描述
技能多了一个冷却功能,我们可以使用一个图去实现冷却,也可以使用文字提示冷却剩余时间,这里我们使用文字表示。
在这里插入图片描述
接着我们实现一个函数,用于在技能进入冷却时,将背景变暗
在这里插入图片描述

将技能控件添加组上面

接下来,我们将技能添加到技能组件里面,填充所有的主动技能和被动技能,并将其设置好填充,调整技能内的padding
在这里插入图片描述
接下来,我们还需要解决一个问题,就是如果技能为空的时候,我们将技能背景去掉,法线它是一片白
在这里插入图片描述
这不是我们想要的效果,我们增加一个函数用于其在没有技能设置时,颜色为完全透明,添加一个透明的笔刷,用于修改笔刷的透明度
在这里插入图片描述

将其颜色修改为完全透明
在这里插入图片描述
在函数内部将技能图标和背景都设置为透明的笔刷
在这里插入图片描述
在构造时调用查看效果
在这里插入图片描述
我们能清空了,肯定需要还要能够更新,我们增加一个函数用于设置它的需要显示的笔刷,我们增加两个参数可以传入图标和背景
在这里插入图片描述
在构造时调用测试函数
在这里插入图片描述
效果又恢复回来了
在这里插入图片描述
现在的效果,就变成了空的技能,用于显示
在这里插入图片描述

应用新的技能栏

我们创建了新的技能栏,接下来,我们想替换默认的那两个球。
打开WBP_Overlay,将我们之前显示血量的球给删除掉
在这里插入图片描述
将它拖入进来
在这里插入图片描述

修改它的锚点
在这里插入图片描述
修改位置和对其
在这里插入图片描述
效果就是对其底部进行一些偏移
在这里插入图片描述
接着,我们需要修改Controller的设置,将之前的设置删除
在这里插入图片描述
修改为设置技能栏的controller
在这里插入图片描述
接着在技能栏的事件里面对血量UI和蓝量UI进行设置
在这里插入图片描述
法线血可以正常掉,没问题
在这里插入图片描述

制作经验条

设置技能的UI我们告一段落,我们还缺少一个经验条用来显示角色当前获取到的经验值。
经验条也是一个进度条,我们可以在进度条的文件夹内新创建一个蓝图控件。
在这里插入图片描述
命名为WBP_XPBar
在这里插入图片描述
先修改尺寸为自定义,定义宽880 高50
在这里插入图片描述
添加一个Overlay
在这里插入图片描述
添加一个图像作为边框,设置填充
在这里插入图片描述
接着添加一个进图条,用于表现经验进度,注意调整好填充
在这里插入图片描述
修改它的背景色和填充图
在这里插入图片描述
修改进度百分比
在这里插入图片描述
查看效果
在这里插入图片描述
接下来就考虑将其放置在技能框里,但是技能框的长度好像无法容纳它,我们直接放到WBP_Overlay里面,方便调整
在这里插入图片描述
我们将其拖入overly中,它默认很小
在这里插入图片描述
我们将其调整为编辑时的大小
在这里插入图片描述
修改其的锚点,中间最下方
在这里插入图片描述
然后修改对齐和位置
在这里插入图片描述
最终效果如下
在这里插入图片描述
然后运行测试效果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/773822.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

这样拼板帮你省近万元,堪称PCB工程师成本终结者!

别再被骗了,打PCB板价格高不是单价高!而是你的拼板导致利用率太低了! 今天给大家讲个小故事,教大家如何省钱...... 一个爽朗的晴天,我听闻同事说有客户对他吐槽打板子价格太高,说着说着就开始吹起了牛逼...…

【论文阅读】VASA-1: Lifelike Audio-Driven Talking FacesGenerated in Real Time

整体框架。不直接生成视频帧,而是在潜在空间中生成整体面部动态和头部运动,条件是音频和其他信号。给定这些运动潜在编码,通过面部解码器生成视频帧,还接受从输入图像中提取的外观和身份特征作为输入。 构建了一个面部潜在空间并…

【C#】ProgressBar进度条异步编程思想

1.控件介绍 进度条通常用于显示代码的执行进程进度,在一些复杂功能交互体验时告知用户进程还在继续。 在属性栏中,有三个值常用: Value表示当前值,Minimum表示进度条范围下限,Maximum表示进度条范围上限。 2.简单实…

【网络安全】第8讲 网络安全协议(笔记)

一、网络安全协议概述 1、协议 是指两个或多个以上参与者为完成某项特定的任务而采取的一系列步骤。 2、网络协议 是指计算机网络中通信各方关于如何进行数据交换所达成的一致性规则、标准或约定的集合,即由参与通信的各方按确定的步骤做出一系列通信动作&#xff…

Linux系统安装青龙面板结合内网穿透实现使用公网地址远程访问

文章目录 前言一、前期准备本教程环境为:Centos7,可以跑Docker的系统都可以使用。本教程使用Docker部署青龙,如何安装Docker详见: 二、安装青龙面板三、映射本地部署的青龙面板至公网四、使用固定公网地址访问本地部署的青龙面板 …

Embedded Coder生成C代码注释

学习目标 本教程将向您说明如何生成包含以下内容的代码: 在函数前注中包含函数签名和函数帮助文本。包含 MATLAB 源代码,以带有可追溯性标记的注释表示。在代码生成报告中,可追溯性标记链接到对应的 MATLAB 源代码。 前提条件 要完成本教…

入门PHP就来我这(纯干货)08

~~~~ 有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享 ~~~~ 路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。 1 PHP对象的高级应用 1.1 final关键字 final 最终的、最后的。被final修饰过的类…

固相提取铕和铀

固相萃取(Solid Phase Extraction,SPE)是一种常用的化学分离技术,它利用固体吸附剂(固定相)与样品中的目标化合物(流动相)之间的相互作用力,将目标化合物从样品中分离出来…

JVM的五大内存区域

JVM的五大内存区域 JVM内存区域最粗略的划分可以分为 堆 和 栈 ,当然,按照虚拟机规范,可以划分为以下几个区域: JVM内存分为线程独享区和线程共享区, 其中 方法区 和 堆 是线程共享区, 虚拟机栈, 本地方法…

为什么需要做网络安全服务?

网络安全服务之所以重要,是因为它在保护数字资产、维护企业运营、确保法规遵从、防范恶意行为以及建立信任等方面扮演着关键角色。以下是一些主要的理由: 保护核心资产和数据: 数字化转型使得企业数据变得极其宝贵,包括知识产权、…

竞赛选题 协同过滤电影推荐系统

文章目录 1 简介1 设计概要2 课题背景和目的3 协同过滤算法原理3.1 基于用户的协同过滤推荐算法实现原理3.1.1 步骤13.1.2 步骤23.1.3 步骤33.1.4 步骤4 4 系统实现4.1 开发环境4.2 系统功能描述4.3 系统数据流程4.3.1 用户端数据流程4.3.2 管理员端数据流程 4.4 系统功能设计 …

开发在线教育项目-在线课程视频网站开发

用了哪些技术 后端技术 springboot3 security权限框架(后台)mybatisPlus框架jwt生成tokeneasyexcel导入导出递归查询拦截器校验tokenredis的zset做排行榜功能redis的list做最新课程的功能redis做为缓存技术redis作为计数器,实时记录浏览量&…

极狐GitLab 将亮相2024空天信息大会暨数字地球生态峰会,携手中科星图赋能空天行业开发者

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署…

【Proteus】按键的实现『⒉种』

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

微信小程序毕业设计-走失人员的报备平台系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

【Python学习】流程控制、函数与类详解

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引言 Python作为一门强大而又简洁的编程语言,提供了丰富的工具和结构来帮助开发者编写清晰、高效的代码。在本文中…

企业搭建知识库:解锁无限潜力的钥匙

在当今这个信息爆炸的时代,企业如何高效地管理、传播与利用知识,已成为衡量其竞争力的重要标尺。知识库,作为这一背景下的产物,正逐步成为企业不可或缺的数字资产。它不仅是一个自助式的数字门户,更是连接员工、客户与…

加入AIGC的小艺还有这些大用处 快来看

说到毕业,有不舍、有迷茫也有期待,在这种复杂的情绪里,手机里的小艺,简直是贴心小棉袄,给了我很多依靠,让我能勇敢的往前走。 在离别时候有太多的不舍,想要写段寄语记录下来,这时候小…

记录AllWinner H700芯片 LCD屏幕显示不正常,有色块问题

现象: 修改后: 文档: 测试命令(需要kernel打开 CONFIG_DEVMEMy): 读取: devmem2 $((0x6511000 0x0088)) w 写入: devmem2 $((0x6511000 0x0088)) w 0x7000000 代码&#xff1…

程序员自由创业周记#37:程序员创业的几个方向

程序员自由创业周记#37:程序员创业的几个方向 报志愿 这几天亲戚一外甥报志愿,让我推荐,我基于自己的认知觉得还是计算机相关是第一优选,即便现在各大互联网公司都过得不怎么好,裁员的消息此起彼伏,很多计…
最新文章