前言
Hello 大家好,在上一篇文章里我们讲述了该如何实现 Enemy 被攻击死亡的功能,今天咱们来讲一下 Enemy 如何给 Player 造成伤害,并死亡。
首先,导入角色死亡的动画,动画我就偷懒使用 Enemy death 的动画了,导入项目后,骨骼选择 Maria_J_J_Ong_Skeleton,完后后的动画如图所示:
image
打开 PlayerAnmi_BP 蓝图,添加 Player 死亡的状态机。
新增一个状态,命名为 death,然后将 Player 死亡的动画拖进去,连接好,如图:
image
过渡状态咱们需要新增一个 bool 变量 IsDead 来控制 Player 死亡,如图:
image
回到 PlayerAnmi_BP 的 EventGrahp 中,去关联 IsDead 这个变量,当然我们也需要在 Player_BP 蓝图中去定义一个 IsDead 变量,如图:
image
在之前的教程里,咱们已经在 Enemy 攻击的动画中添加了 OnAttack 消息通知并关联了 EnemyOnAttack 事件, 所以我们就直接可以在这个事件中去完成想要的逻辑,如图:
image
这里的逻辑其实我就是从 Player_BP 中去复制过来的,所以很多逻辑咱们是可以复用的,EnemyAttackFrom 是我在 Knight_BP 中添加的一个 Scene Component 和之前 Player_BP 一样。
image
然后打开 Player_BP 蓝图,去监听 ApplyDamage 消息,如图:
image
当收到伤害时,就更新血条,如果血条低于 0 了,就设置玩家的状态为死亡状态了,这时候玩家就倒地不起了,效果如下:
image
好了,玩家受到 Enemy 攻击后,当血量为 0 时,就播放死亡动画了,这时候游戏也就结束了。
本文分享自 HelloWorld杰少 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!