当前位置: 首页 > news >正文

【UE5.1 角色练习】06-角色发射火球-part2

目录

效果

步骤

一、火球生命周期

二、添加可被伤害的NPC

三、添加冲量


在上一篇(【UE5.1 角色练习】06-角色发射火球-part1)基础上继续实现角色发射火球相关功能

效果

步骤

一、火球生命周期

为了防止火球没有命中任何物体而一直移动下去,我们可以设置火球的生命周期只有7s

二、添加可被伤害的NPC

1. 新建一个父类为Character的蓝图,这里命名为“BP_NPC”,该蓝图类将作为所有NPC的父类

打开“BP_NPC”,添加一些NPC共有的东西。先添加两个浮点类型变量“HP_Current”和“HP_Max”分别用于表示NPC当前的生命值和最大生命值。

新建一个函数,这里命名为“F_ChangeHP”,用于修改NPC的生命值。当传入的参数“HP”值为正数,则表示添加NPC生命值,为负数就表示减少生命值

当角色受到任意伤害时就通过调用函数“F_ChangeHP”来减少NPC生命值

当NPC血量小于等于0时就销毁Actor

2. 对“BP_NPC”创建一个子蓝图,这里命名为“BP_NPC_Rock”

打开“BP_NPC_Rock”,添加一个静态网格体组件,这里静态网格体设置为一块石头

在类默认值中设置HP值

3. 将石块移至场景中

此时运行可以看到我们只需攻击三次,就可以让石块生命值归0,从而让其消失:

4. 我们可以在“BP_NPC”的事件图表中添加如下函数,表示NPC受到伤害后执行的函数,该函数内部没有任何逻辑,我们可以在子类中去重载该函数

比如我们可以在子类中设置当受到伤害后播放一段音效

5. 我们可以在角色蓝图中设置当发射火球后扣除角色MP值

在扣除前需要判断当前MP值是否充足,如果充足才能施法

三、添加冲量

如果火球攻击的NPC具有模拟物理设置的话,我们应该再火球攻击的时候给NPC添加一个冲量

相关文章:

  • 温故而知新-Java基础篇【面试复习】
  • C#-根据日志等级进行日志的过滤输出
  • FreeRTOS面试题汇总
  • vmware - 主机向虚拟机拷贝文件的临时方法
  • JAVA开发面试超详细
  • 若依nodejs版本过高问题解决方案
  • 【vue】封装的天气展示卡片,在线获取天气信息
  • spring boot 之 集成 druid数据库连接池
  • ACM实训
  • 反射的基本知识
  • 【Linux】套接字的理解 基于TCP协议的套接字编程(单/多进程 / 线程池|英汉互译 / C++)
  • 如何安装 Docker
  • 基于微信小程序的校园捐赠系统的设计与实现
  • 探索移动云:我的ES与Kibana之旅
  • 基于springboot的大创管理系统
  • 【译】JS基础算法脚本:字符串结尾
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • Fundebug计费标准解释:事件数是如何定义的?
  • gulp 教程
  • Java 23种设计模式 之单例模式 7种实现方式
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JS笔记四:作用域、变量(函数)提升
  • nodejs实现webservice问题总结
  • Vue2.x学习三:事件处理生命周期钩子
  • 服务器之间,相同帐号,实现免密钥登录
  • 和 || 运算
  • 前端之React实战:创建跨平台的项目架构
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 线性表及其算法(java实现)
  • - 转 Ext2.0 form使用实例
  • elasticsearch-head插件安装
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (7)摄像机和云台
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (done) 声音信号处理基础知识(2) (重点知识:pitch)(Sound Waveforms)
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (第61天)多租户架构(CDB/PDB)
  • (力扣)1314.矩阵区域和
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (十五)使用Nexus创建Maven私服
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (原創) 物件導向與老子思想 (OO)
  • (转)人的集合论——移山之道
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .NET 中让 Task 支持带超时的异步等待
  • .Net面试题4
  • .Net中的集合
  • /bin、/sbin、/usr/bin、/usr/sbin
  • @Validated和@Valid校验参数区别
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用