ue5 伤害插件

主角或敌人都能用的插件,复用性很高

首先创建以下插件、接口、类型文件

两个枚举中的参数名称,E_DamageResponse区分是各个伤害后的反应,比如不同伤害造成的动画或粒子特效等的不同,E_DamageType是伤害类型,有各种伤害类型,比如近距离伤害和爆炸伤害

创建结构体,S_DamageInfo

然后创建BPC_DamageSystem插件,并编写代码

Heal函数为治疗函数

TakeDamage函数是实现伤害和判断伤害类型等

CanbeDamage宏中的代码,IsBlocking布尔变量我默认是True

三个事件分发器是为了后续可以在玩家或敌人蓝图中编写死亡,阻挡,被攻击的反应 代码,因为这几部分在敌人和主角中都不太一样,所以后续在人物蓝图中再编写

再到主角蓝图中添加最开始创建的接口BPI_Damageable,并在左侧添加选项中添加我们创建的BPC_DamageSystem插件(图中没有标明)

接口中的函数如图所示

之后在人物蓝图中编写接口函数

之后在攻击逻辑中调用TakeDamage函数

至此主角蓝图已经编写完毕

之后在敌人蓝图添加接口和插件,再把接口中的函数照上面的主角蓝图写一下就行了,至此就完成了正常的攻击伤害逻辑,这个接口还有很多功能,在所创建的变量中也能看出来

相关推荐
jingxindeyi7 小时前
react实现狼吃羊游戏
javascript·react.js·游戏
星空露珠8 小时前
迷你世界UGC3.0脚本Wiki全局函数
开发语言·数据库·算法·游戏·lua
风酥糖8 小时前
Godot游戏练习01-第11节-显示优化,游戏背景,Shader
游戏·游戏引擎·godot
林鸿群9 小时前
游戏客户端创建大联盟报错:[LUA-print] onSubOperateFailure 1 由于数据库操作异常,请稍后重试!解决
游戏·lua·cocos2d-x·链接服务器
IT从业者张某某10 小时前
基于EGE19.01完成恐龙跳跃游戏-V02-面向对象或结构体的版本
游戏
星空露珠10 小时前
又双叒叕统计被炸死的lua脚本
开发语言·数据结构·算法·游戏·lua
林鸿群10 小时前
大联盟游戏列表为空解决
游戏
风酥糖12 小时前
Godot游戏练习01-第9节-游戏轮次
游戏·godot
风酥糖12 小时前
Godot游戏练习01-第13节-粒子系统,武器攻击特效
游戏·游戏引擎·godot
dd_6699613 小时前
游戏上市公司合同系统实施案例(三):从需求分层到全生命周期管理
游戏·信息可视化·数据可视化