11月10日 生命值,减少生命值,创建生命值UI UE4斯坦福 学习笔记

2023-11-08

制作角色属性Comp

添加一个Actorcomp

在.h内添加生命值与减少血量的函数

protected: //只在蓝图内可以编辑,在编辑器界面不能编辑 UPROPERTY(EditDefaultsOnly,BlueprintReadOnly,Category="Attributs") float Health; // Called when the game starts // public: UFUNCTION(BlueprintCallable,Category="Attributs") bool ApplyHealthChange(float Delta); // Called every frame // };

在.cpp内绑定变量与添加减少血量的void

USAttributeComponent::USAttributeComponent() { // Health = 100; // ... } bool USAttributeComponent::ApplyHealthChange(float Delta) { Health += Delta; return true; }

在角色的.h和.cpp内绑定这个actorcomp

.h

//角色属性 UPROPERTY(VisibleAnywhere,BlueprintReadOnly,Category="Components") USAttributeComponent * AttributeComp;

.cpp

//将创建的AttributeComp绑定在角色上 AttributeComp = CreateDefaultSubobject<USAttributeComponent>("AttributeComp");

修改魔法子弹的.h,添加一个void

UFUNCTION() void OnActorOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult);

.cpp

void ASMagicProjectile::OnActorOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult) { if(OtherActor) { //注意是GetComponentByClass不是GetComponentsByClass USAttributeComponent* AttributeComp = Cast<USAttributeComponent>(OtherActor->GetComponentByClass(USAttributeComponent::StaticClass())); if(AttributeComp) { AttributeComp->ApplyHealthChange(-20.0f); Destroy(); } } }

最后修改碰撞选项

创建一个生命值的UMG

首先添加Canvas Panel,然后添加Horizontal Box,再添加ProgressBar和Text

在ProgressBar的Slot -> Size处改为Fill

在Text的Content ->Text处新建一个Binding

函数为接受之前创建的AttributeComponent的Float Health值

效果图:

受到子弹攻击会减少HP的数值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

11月10日 生命值,减少生命值,创建生命值UI UE4斯坦福 学习笔记 的相关文章

  • 打印纸张尺寸换算_各种打印纸的尺寸是多少?

    展开全部 常用打印纸尺寸为 A4 16k 297mm 210mm A5 32k 210mm 148mm A6 64k 144mm 105mm A3 8k 420mm 297mm 按照尺寸的大小 通常62616964757a686964616
  • 我说我懂多线程,面试官立马给我发了offer

    前言 只有光头才能变强 文本已收录至我的GitHub精选文章 欢迎Star https github com ZhongFuCheng3y 3y 在上周总结了一篇 工作中常用到的Java集合类 反响还不错 这周来写写Java另一个重要的知识
  • UE4资源及内存控制台命令

    UE4资源及内存控制台命令 原文地址 UE4资源及内存控制台命令 可可西 博客园 ListLoadedPackages 打印被加载的包 每个包对应一个uasset或umap文件 List of all loaded packages Nam
  • angularjs $http调用接口的方式

    angularjs http调用接口的方式 http get merchantmall merchant json success function data status headers config console log argume
  • Java8 方法积累

    Java8 方法积累 removeIf 移除集合中字段全为NULL的无意义对象 list removeIf filter gt filter getProperty1 null filter getProperty2 null stream
  • 6款免费的PDF解锁软件

    下面这些软件提供不同的选项来解锁PDF文件 如 暴力攻击 字典攻击 网络搜索 掩码攻击和键搜索攻击选项 支持可以部署的各种攻击方法 如 简单方法 复杂方法和混合方法 也可以为攻击设置不同的选项 例如 要包括的字符和数字 要扫描的密码长度等
  • Apache服务器的下载安装与配置

    最近在学习Android 需要搭建一个服务器 于是在网上查找了一些资料 主要参考博文https www cnblogs com yerenyuan p 5460336 html点击打开链接 目前官网可以下载的版本是2 4 29 分VC14和

随机推荐

  • Redis 管道

    目录 Redis 管道 Abstract 管道和原生批命令的比较 管道和脚本的区别 使用管道需要注意的事项 Redis 管道 Abstract Redis 客户端执行一条命令分 4 个过程 发送命令 命令排队 命令执行 返回结果 这个过程称
  • 2.4.9 Profile虚拟以太网网卡参数

    最后更新2021 07 22 参考 lt 图 242 虚拟IO设备管理界面 gt 我们来了解一下虚拟以太网网卡参数 图 244 虚拟以太网参数设置 普通设置 Adapter ID 等同于虚拟IO设备的Slot ID 槽位号 参考 lt 49
  • 在crontab中执行scrapy(解决不执行,不爬取数据的问题)

    文章来着 在crontab中执行scrapy 解决不执行 不爬取数据的问题 自我的进化 在crontab中执行scrapy会遇到命令不执行 或者执行了但是没有爬取数据的问题 这里做一下总结 先说这里遇到的问题和解决方案 spider不执行
  • 图说设计模式

    软件模式是将模式的一般概念应用于软件开发领域 即软件开发的 总体指导思路或参照样板 软件模式并非仅限于设计模式 还包括 架构模式 分析模式和过程模式等 实际上 在软件生存期的每一 个阶段都存在着一些被认同的模式 本书使用图形和代码结合的方式
  • 《CSDN 涨粉攻略》11个涨粉方法,你学会了几个?

    文章目录 前言 一 我最近的涨粉情况 二 不忘初心 三 涨粉要诀 1 社区 a 规则 b 详述 2 热榜 a 规则 b 详述 3 粉丝可见 a 规则 b 详述 4 标题 a 规则 b 详述 5 封面 a 规则 b 详述 6 一键三连 a 规
  • python中的元组(tuple)的用法

    以下内容主要摘抄博客 https blog csdn net yezonggang article details 50976664 utm medium distribute pc relevant none task blog Blog
  • 几种常见开源软件授权协议

    转载地址见图片
  • Data Structure (三)

    动态规划 1 区间调度问题 1 1无权区间调度问题 任务j开始于sj 结束于fj 如果两个任务没有重叠的时间 则两个任务互相兼容 目标 找到最多 最大互相兼容的任务集合 贪心算法总是做出当前最优的选择 贪心算法并不总能得到最优解 但是它是最
  • MATLAB绘图设置坐标轴标注

    绘图之后设置坐标轴标注 以下均为用例 自行按需更改 xlim 0 512 限制x轴坐标数值范围 ylim 0 512 限制y轴坐标数值范围 set gca XTick 0 510 4 512 设定x轴坐标刻度 0 512是数值范围 512
  • Qt开发,链接了数据库后,调用QSqlQuery::setQuery执行SQL语句获取我们想要的数据

    继上篇文章将数据库封装成一个类 链接为成员函数 而当我将查询做为另一个函数时 无法对已有的database进行操作 尽管db为类的成员 同样会报错误 QSqlQuery exec database not open QSqlQueryMod
  • C#判断是否是以管理员权限允许当前应用

    private static bool CheckForAdminRights string path Path Combine Environment GetFolderPath Environment SpecialFolder Win
  • 微信小程序防止后退,返回主页,30秒看完关闭

    防止后退 使用 wx redirectTo 代替wx navigateto 关闭返回主页 在onShow function 中调用wx hideHomeButton 讲完收工
  • 国产chatgpt:基于chatGLM微调nlp信息抽取任务

    文章目录 一 传统nlp做信息抽取 二 什么是零样本和少样本 1 零样本和少样本的概念 2 零样本和少样本的应用场景 3 零样本和少样本在大模型时代的优势和意义 4 相比传统NLP 零样本和少样本学习具有以下优势 三 大模型时代信息抽取 c
  • pip 使用国内镜像源及常用命令

    Python pip默认是从pypi org官网下载包 即使用的是国外的镜像源 https pypi python org simple 因此在下载安装包时速度非常慢 还经常出现连接超时 导致下载失败的情况 所以 一般在下载安装包的时候 都
  • 一文解决java.lang.UnsatisfiedLinkError

    首先大家先了解下 ABI和CPU 不同的 Android 手机使用不同的 CPU 而不同的 CPU 支持不同的指令集 CPU 与指令集的每种组合都有专属的应用二进制接口 即 ABI 每个 ABI 支持一个或多个指令集 每个 ABI 支持的指
  • Java语言中的重写(override)和重载(overload)

    Java语言中的重写 override 和重载 overload 重写 override 和重载 overload 是编程语言中的两个常见概念 用于描述函数或方法的特定行为 重写指的是在子类中重新定义 覆盖 父类中已经存在的同名方法 重写可
  • 习题2软件工程

    3 4 1 不是 通常所说的结构化程序 是按照狭义的结构程序的定义衡量 符合定义规定的程序 图示的程序的循环控劇结构有两个出口 显然不符合狭义的结构程序的定义 因此是非结构化的程序 2
  • aspose文档格式转换

    文章目录 Word转Pdf html转pdf pdf转word Word转Pdf public static void main String args throws Exception Document doc new Document
  • pikachu靶场CSRF之TOKEN绕过

    简介 Pikachu靶场中的CSRF漏洞环节里面有一关CSRF TOKEN 这个关卡和其余关卡稍微有点不一样 因为表单里面存在一个刷新就会变化的token 那么这个token是否能绕过呢 接下来我们来仔细分析分析 实战过程 简单尝试 先利用
  • 11月10日 生命值,减少生命值,创建生命值UI UE4斯坦福 学习笔记

    制作角色属性Comp 添加一个Actorcomp 在 h内添加生命值与减少血量的函数 protected 只在蓝图内可以编辑 在编辑器界面不能编辑 UPROPERTY EditDefaultsOnly BlueprintReadOnly C