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

news2024/11/27 21:42:12

在前面的文章里,我们实现了角色属性技能和场景。接下来,我们要优化角色显示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.coloradmin.cn/o/1897191.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最大池化出现:RuntimeError: “max_pool2d“ not implemented for ‘Long‘爆红

最大池化出现:RuntimeError: “max_pool2d” not implemented for Long’爆红问题 解决方法: 加上dtypetorch.float32。作用是将列表中1->1.0… 成功解决

第一节-k8s架构图

一个Deployment,可以由多个不同Node下的Pod组成,每个Pod又由多个Container组成。 区分Deployment是用Labels(key:value),区分Pod是用PodName,区分Container是用ContainerName。 一个Node可以包含多个不同Deployment中的pod&…

漏洞分析 | PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

漏洞概述 PHP CGI(Common Gateway Interface)是在Windows平台上运行PHP的一种方式。CGI是一种标准接口,允许Web服务器与外部应用程序(如PHP脚本)进行交互,从而生成动态网页内容。 近期,PHP发布…

HTTP代理服务器:深度解析与应用

“随着互联网的飞速发展,HTTP代理服务器在网络通信中扮演着越来越重要的角色。它们作为客户端和服务器之间的中介,不仅优化了网络性能,还提供了强大的安全性和隐私保护功能。” 一、HTTP代理服务器的概念与作用 HTTP代理服务器是一种能够接…

Butterfly主题一图流背景及文章顶部图修改

效果 将Butterfly主题改成一图流背景,并且将首页以外的顶部图移到标题下方显示。 主题配置 修改 Butterfly 的配置文件 _config.butterfly.yml。 编辑 index_img、background、footer_bg 选项。 设置网站背景,将主页顶部图和页脚背景改为透明。 # …

介绍 pg_later:受 Snowflake 启发的 Postgres 异步查询#postgresql认证

#PG培训#PG考试#postgresql培训#postgresql考试 为什么要使用异步查询? 想象一下,您启动了一项长期维护工作。您在执行过程中离开,但回来后发现,由于笔记本电脑关机,该工作在几个小时前就被中断了。您不希望这种情况…

蓝牙信标和蓝牙标签我们如何区分,区分方法有哪些?

蓝牙信标和蓝牙标签其实是两种不同的技术,很多人可能会把蓝牙信标和蓝牙标签搞混,因为区分不开来,但实际上,区分这两种技术也很简单,因为它们各自都有不一样的特性,通过这些特性,我们也能正常区…

MySQL数据库主从复制+mycat读写分离+MHA实操

目录 一、主从复制 1.1 主从复制简介 1.2 MySQL支持的复制类型 1.3 主从复制的工作过程 1.4 主从复制的同步模式 1.4.1 异步复制(Asynchronous replication) 1.4.2 全同步复制(Fully synchronous replication) 1.4.3 半同…

【kubectl详解】最全的kubectl命令用法

文章目录 简介一.命令帮助翻译1.1.基本命令(初学者):1.2.基本命令(中级):1.3.部署命令:1.4.群集管理命令:1.5.疑难解答和调试命令:1.6.高级命令:1.7.设置命令…

推荐的一键下载1688高保真原图信息

图片在电商中扮演着至关重要的角色。高质量的商品图片能够直观展示产品特性,吸引消费者注意力,提升购买欲望。良好的视觉呈现还能增强品牌形象,提高转化率。此外,图片是跨语言的沟通方式,能够克服语言障碍,…

空调计费系统是什么,你知道吗

空调计费系统是一种通过对使用空调的时间和能源消耗进行监测和计量来进行费用计算的系统。它广泛应用于各种场所,如家庭、办公室、商场等,为用户提供了方便、准确的能源使用管理和费用控制。 可实现功能 智能计费:中央空调分户计费系统通过智…

【网工】关于链路聚合、静态路由、单臂路由的一个小实验

最近刚考完期末放暑假,那几天没看csdn结果有个朋友发了这样一个实验: 虽然晚了点 也不知道这位朋友还需不需要 但还是弄了出来 分享给大家 一起学习 下面是一些关键配置代码参考

Android AlertDialog对话框

目录 AlertDialog对话框普通对话框单选框多选框自定义框 AlertDialog对话框 部分节选自博主编《Android应用开发项目式教程》(机械工业出版社)2024.6 在Android中,AlertDialog弹出对话框用于显示一些重要信息或者需要用户交互的内容。 弹出…

基于DMAIC降低气缸体水套芯磕碰伤率

在制造业的激烈竞争中,产品质量的提升一直是企业追求的目标。气缸体作为汽车发动机的核心部件,其生产过程中的质量控制尤为重要。今天,深圳天行健企业管理咨询公司就来分享一下如何运用DMAIC(定义、测量、分析、改进、控制&#x…

IDC:奇安信、深信服、安恒、绿盟、斗象组成了中国NDR市场的主要玩家

2024 年 6 月 20 日,IDC 正式发布了针对中国网络威胁检测与响应产品的市场份额研究报告——《中国网络威胁检测与响应市场份额,2023:NDR正在向更多技术栈延伸》(2024年6月)。报告针对2023年中国网络威胁检测与响应市场…

STMCUBEMX_IIC_LL库_AT24C64分页读取和写入

STMCUBEMX_IIC_LL库_AT24C64分页读取和写入 前言: 一个项目中构建的软件系统需要存储非常多的用户参数,大约有几千字节,所以牵扯到自己设计跨页写入算法,注意读出也是需要设计跨页读出算法的(手册没强调,但…

App Store迎来了重磅更新,ASO冲榜优化或将成为不可或缺的一部分

近日App Store搜索页面迎来了重磅更新,苹果应用商店中搜索页面原有的热搜关键词消失了取而代之的是直接将排行榜放在了搜索顶部,分别是APP排行和游戏排行两部分。如下图: 很多人应该都是参考排行榜来下载APP的,这次更新之后用户在…

创维汽车开展年中总结会:创新创造·勇开拓 智慧经营·攀高峰

2024年7月3日,回顾上半年的工作成果,总结经验教训,明确下半年的发展方向和重点任务,创维汽车于山西省晋中市榆次区山西联合创维体验中心开展年中总结会。 创维集团、创维汽车创始人黄宏生;开沃集团联合创始人、首席执…

160行代码实现代码雨效果

效果 序言 很喜欢黑客帝国里面那种代码雨的效果,为了锻炼自己的特效编写能力就尝试了一下,花了一下午写出来了。有需要的小伙伴拿去参考. 代码 package com.zgh.myapplication;import android.content.Context; import android.graphics.Canvas; impo…

PLM系统:PLM系统如何重塑产品生命周期管理

PLM系统:重塑产品生命周期管理的未来 在当今快速变化的商业环境中,产品生命周期管理(PLM)系统正逐渐成为企业提升竞争力、加速创新并优化运营流程的关键工具。随着技术的不断进步和市场需求的日益复杂化,传统的手动或…