UE4 学习笔记(十四)NPC血条组件
功能:只要为NPC添加血条组件,即可为NPC添加一根血条。并附带CurrentHp和MaxHp两个属性,且始终朝向摄像机。
目的:让NPC与血条解耦,不必将血条的逻辑写到NPC中,防止NPC蓝图中的蓝图量过大,导致混乱。
第一步:生成一个继承自WidgetComponent的BP_NPCHPComponent。
第二步:声明两个整型变量CurrentHp和MaxHp。
第三步:在组件Tick中写下如下蓝图:
第四步:提供给外部停止绘制UI和开始绘制UI的事件,血条改变事件。
第五步:新建一个控件蓝图,取名:WBP_HP
第六步:在WBP_HP中新建一个滑条,改名HPBar。填充颜色改为红色,百分比设置为0.5。
第七步:新建两个浮点变量:CurrentHp和MaxHp,并为百分比绑定一个函数,
第八步:回到BP_NPCHPComponent,打开类默认值,修改CurrentHp和MaxHp为100,控件类为WBP_HP,绘制大小为(150,20)。
第九步:将开始事件改为如下图所示:
到这里,NPCHp组件就完成了所有功能。下面开始测试。
测试步骤:创建一个Actor,添加StaticMesh,和BP_NPCHPComponent,调整BP_NPCHPComponent的位置。并在开始的时候,尝试扣除20点血。
最终运行结果:
UE4 学习笔记(十四)NPC血条组件相关推荐
- 吴恩达《机器学习》学习笔记十四——应用机器学习的建议实现一个机器学习模型的改进
吴恩达<机器学习>学习笔记十四--应用机器学习的建议实现一个机器学习模型的改进 一.任务介绍 二.代码实现 1.准备数据 2.代价函数 3.梯度计算 4.带有正则化的代价函数和梯度计算 5 ...
- Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理
Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理 Polyworks的工作任务存储分为工作区和项目两级,通过WORKSPACE命令获取工作任务信息,实现更好的任务管理. 下 ...
- 【神经网络】学习笔记十四——Seq2Seq模型
本文简要介绍seq2seq,即序列到序列的基本知识,是深度学习和NLP中一个重要的知识. 从三部分来说,seq2seq基本简介,应用场景和原理解析. 一.什么是Seq2Seq 所谓Seq2Seq(Se ...
- 好记性不如烂笔杆-android学习笔记十四 EditText 画行,解决光标压线问题
这个问题我在网上看来很多方法,有些看得似懂非懂的,后来自己采用一种比较投机的方法,居然可行,呵呵,拿出来跟大家分享一下. 其实就是把画的线向下偏移一定高度,当然针对不同分辨率,这个值也就不同: (因为 ...
- 重新认识错过(通向财富自由之路学习笔记十四)
本周学习<通向财富自由之路>专栏重新认识错过的文章,在文章中作者介绍了自己是如何错过一次升级的.对于这种错过,非常有同感.比如在中学时候,需要学习生物.历史.地理等学科,而这些学科不需要计 ...
- 【theano-windows】学习笔记十四——堆叠去噪自编码器
前言 前面已经学习了softmax,多层感知器,CNN,AE,dAE,接下来可以仿照多层感知器的方法去堆叠自编码器 国际惯例,参考文献: Stacked Denoising Autoencoders ...
- Mr.J-- jQuery学习笔记(十四)--动画显示隐藏
eq()函数 定义和用法 :eq() 选择器选取带有指定 index 值的元素. index 值从 0 开始,所有第一个元素的 index 值是 0(不是 1). 经常与其他元素/选择器一起使用,来选 ...
- linux学习笔记十四:安装SAMBA(Server Message Block)
NFS:仅用于Linux之间 CIFS:仅用于Windows之间 SAMBA:可用于Linux与Windows之间,基于NetBIOS协议(用于LAN内部,不能跨路由),没有IP地址的概念,根据 Ne ...
- 步步为营 .NET 设计模式学习笔记 十四、Decorator(装饰模式)
概述 在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性:并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多 ...
最新文章
- swift-初探webView与JS交互
- 在矩阵中查找字符串 Word Search
- Java黑皮书课后题第8章:**8.37(猜测首府)编写一个程序,重复提示用户输入一个州的首府。当接收到用户输入后,程序报告答案是否正确。假设50个州以及它们的首府保存在一个二维数组中,提示用户回答所
- linux 发送外部邮件
- CGRectInset CGRectoffset UIEdgeInsetsInsetRect 这三个函数的使用情况
- opengl es纹理贴图效果实例
- 使用MegaCli工具,在线调整raid配置
- document.body
- [转]Java 的强引用、弱引用、软引用、虚引用
- atom cpu linux死机,ATOM处理器编译性能还是堪忧啊
- java毕业设计共享充电宝系统mybatis+源码+调试部署+系统+数据库+lw
- 星浩资本快速发展引擎:IT就是生产力
- 把sn码转换为二维码
- Python的wheel文件安装
- linux下打印机监控,Linux下控制打印机笔记
- 高分难题,绝对有难度
- ETL工具 鱼龙混杂,如何甄选?(开源、包开源、包数据库辅助功能、商用)
- Kinect openni 驱动
- 微信考勤 | 微信智慧解决方案
- 《VLAN中所使用ARP代理命令介绍》