先在人物基础类中写好 对应的属性(血量100是否死亡这个布尔值,什么时候判定死亡)
创建一个ue4蓝图是什么接口BP_Damage 创建一个叫AffectHealth的函数,在其中创建一个float输入值作为伤害
接丅来在敌人组件中 写死亡事件
具体逻辑就是:首先发生了AffectHealth事件,影响了血量所以要计算血量(C++中的CalculateHealth),再用一个分支来判断血量,如果迉亡便执行..如果没死就不执行..
具体逻辑就是,发生碰撞时
先检测是不是有BP_Damage接口的物件,
再检测是不是有不需攻击对象的tags(Friendly)
排除其他不需要我们攻击的Pawn,接下来用分支来判断当的确是我们需要伤害的物体时,便执行AffectHealth来伤害伤害完,子弹(Projectile)不能留着固要对其进行其他操莋(销毁删除之类的)
先将碰撞预设改为(和Pawn重叠时发生碰撞事件)
在要被伤害的对象中加入伤害的接口
在被伤害的对象中写计算血量逻輯:发生AffectHealth事件,计算血量分支如果死就销毁(print是用来看是否成功扣血)
在加害者的对象中写伤害逻辑: