【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添加一个冲量

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

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

相关文章

【全开源】赛事报名系统源码(Fastadmin+ThinkPHP和Uniapp)

基于FastadminThinkPHP和Uniapp开发的赛事报名系统,包含个人报名和团队报名、成绩查询、成绩证书等。 构建高效便捷的赛事参与平台 一、引言:赛事报名系统的重要性 在举办各类赛事时,一个高效便捷的报名系统对于组织者和参与者来说都至关重…

WebService的wsdl详解

webservice服务的wsdl内容详解,以及如何根据其内容编写调用代码 wsdl示例 展示一个webservice的wsdl,及调用这个接口的Axis客户端 wsdl This XML file does not appear to have any style information associated with it. The document tree is shown…

编译aosp刷入pixel 真机得问题记录

编译aosp要做什么(ubuntu下编译问题相对少) 需要vmware并且已经安装了ubuntu镜像系统 直接切换到root 避免后期避免麻烦 参考地址 https://mp.weixin.qq.com/s/yJp3ijIxykiMmNVYr2V1nQ apt install git //安装git sudo apt install git//给git设置用户…

mysql事务 事务并发问题 隔离级别 以及原理

mysql事务 简介:事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 事务四大特性 原子性(Atomici…

.哈希表.

哈希 哈希表:将大而复杂的数据映射到紧凑的区间内。分为:①存储结构 (离散化是特殊的哈希,之前讲的离散化是严格保序的 映射到区间上是连续递增的) 哈希不保序,这里讲的是一般的哈希 弊端:若…

Linux(四)

Linux(四) shell脚本shell脚本开发过程创建创建.sh文件编写.sh文件添加执行的权限 chmod 777 1.sh运行 shell中注释shell中变量用户自定义变量 (尽量大写)位置参数即命令行参数预定义变量环境变量 shell中程序和语句说明性语句功能性语句echo 输出read 键…

网上打印试卷的步骤是什么

对于学生和家长来说,打印试卷是日常学习中的一项重要需求。那么,如何在网上方便地打印试卷呢?下面,就让我来为您介绍琢贝云打印的试卷打印步骤。 一、选择琢贝云打印的原因 支持多种文件格式打印,包括图片、PPT、PDF、…

每日百万交易的支付系统,如何设置JVM堆内存大小?

每日百万交易的支付系统,如何设置JVM堆内存大小? 1、支付背景的引入2、支付的核心业务流程3、每日百万交易支付系统的压力在哪里?4、支付系统每秒钟需要处理多少笔支付单5、每个支付订单处理需要耗时多久6、每个支付订单大概需要多大的内存空间7、每秒发起的支付请求对内存的…

手撕C语言题典——消失的数字

目录 前言 一,思路 1)排序查找 2)数据求和,依次减去中值 3) 异或 二,异或的代码实现 前言 依旧是一道力扣上的题,通过不同思路的不同时间复杂度来分析,让我们看看有什么不同。 面试题 17…

贪心-ACW803区间合并-XMUOJ力量碎片合并

题目 思路 附上几个参考链接 for(auto i : v)遍历容器元素_for auto 遍历-CSDN博客 C pair的基本用法总结(整理)_c pair用法-CSDN博客 使用 sort 实现自定义排序 - AcWing 话不多说,直接上代码 代码 /* ACW803区间合并-XMUOJ力量碎片合…

第13章-循迹功能 循迹小车讲解 原理分析 STM32智能小车循迹教程 红外对管使用 PID循迹算法分析

讲解一下我们小车里面的循迹部分,包括红外基础使用,无PID循迹和有PID循迹。 第13章-循迹功能 13.1-非PID循迹功能完成 先红外对管调试 我们这里学习一下,如何实现循迹功能 如何才能让小车沿着黑线运动、要让小车感知到黑线的位置&#x…

C/C++ vector详解

要想了解STL,就必须会看: cplusplus.comhttps://legacy.cplusplus.com/ 官方内容全都是英文的,可以参考: C/C初始识https://blog.csdn.net/2301_77087344/article/details/138596294?spm1001.2014.3001.5501 vector&#xff…

sql聚合函数使用-笔记

sql聚合函数使用-笔记 SELECT SUM ( case when procurement_type 公益推送 then 1 else 0 end ) gywxTotal,SUM ( CASE WHEN (status 1 and procurement_type 公益推送) THEN 1 ELSE 0 END ) gywxYsc,SUM ( CASE WHEN (status ! 1 and procurement_type 公益推送) THEN 1 …

辐射度技术在AI去衣中的魅力与科学

引言: 在当今的数字化时代,人工智能正逐渐渗透到我们生活的方方面面。其中,AI去衣技术作为一项颇具争议但又不失其科技创新的应用,正引起越来越多的关注和讨论。而在实现高质量图像渲染的过程中,辐射度技术凭借其卓越的…

CAD二次开发(5)-用户交互仿系统命令

1. 工具类:PromptTool.cs using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Geometry; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace _04用户交互 {public static…

GEE26:批量导出逐日、逐月、逐季节和逐年的遥感影像(以NDVI为例)

影像导出 写在前面1.逐日数据导出2.逐月数据导出3.季节数据导出4.逐年数据导出 写在前面 最近很多小伙伴们私信我,问我如何高效导出遥感数据,从逐日到逐季度,我都有一套自己的方法,今天就来和大家分享一下!   &#…

基于YOLOv8+PySide6的快递分类管理系统

1、背景 随着电子商务的飞速发展,快递行业所承受的数据处理需求愈发庞大。在这样的背景下,传统的手工分类方法已经显得力不从心,因其不仅耗时耗力,还存在着易出错的隐患。因此,迫切需要研发出一套高效而准确的自动化系…

多线程案例(线程池)

White graces&#xff1a;个人主页 &#x1f649;专栏推荐:Java入门知识&#x1f649; &#x1f649; 内容推荐:<计算坤是如何工作的>&#x1f649; &#x1f439;今日诗词:百年兴衰皆由人, 不由天&#x1f439; ⛳️点赞 ☀️收藏⭐️关注&#x1f4ac;卑微小博主&…

go 微服务框架kratos使用中间件的方法

一、中间件的概念 在go语言中&#xff0c;中间件是一种用于处理http请求的开发模式&#xff0c;允许开发人员在请求到达处理程序之前或之后执行特定的操作&#xff0c;如日志记录、身份验证、错误处理等。 中间件通常是一个函数&#xff0c;它接收一个 http.Handler 作为参数…

Ardupilot开源代码之Rover上路 - 后续4

Ardupilot开源代码之Rover上路 - 后续4 1. 源由2. 深度配置2.1 设置倒车按钮2.1.1 前进2.1.2 倒退 2.2 MP无法连接ESP82662.3 最小油门校准 3. 遗留&后续3.1 高精度编码器问题3.2 OV5647 720P30FPS 马赛克问题 4. 参考资料 1. 源由 开源项目最主要的问题就是所有配置是开放…