在上一篇(UE4 回合游戏项目 17- 进入指定区域触发战斗事件)基础上完成击败敌人从而退出战斗的功能。
效果:
步骤:
1.打开“battleScenario”蓝图,添加一个自定义事件,命名为“离开战斗”
2.删除所有生成的敌人
3.删除生成的玩家
4.在之前玩家与碰撞区域发生重叠的位置重新生成玩家可以控制的角色
5.然后需要重新获得生成的这个角色的控制权
接下来需要删除碰撞区域
6.在“碰撞进入战斗”蓝图中,添加“销毁Actor节点”,销毁的对象就是self
下面需要编写什么时候触发“离开战斗”这个自定义事件的逻辑
我们首先编辑在所有的敌人都被击败后触发离开战斗事件的逻辑
7.打开gameMode1,添加判断,如果“回合结束”为真,就触发战斗场景中离开战斗的事件,否则就重新开启新的事件
那么如何判断“回合结束”何时为真或假
首先在战斗开始时获取生成的所有敌人的数量,将其作为一个变量,命名为“生成的敌人数量”,每杀死一个敌人,就将该变量的结果-1
添加一个自定义事件,命名为“怪物减少”
每次触发该事件就将“生成的敌人数量”减1
然后判断“生成的敌人数量”是否等于0,如果等于0就设置回合结束为真
回合开始后设置“回合结束”为假
接下来在“roleCategory”蓝图中调用gameMode1中的怪物减少的事件
8.打开“roleCategory”蓝图,当调用“死亡事件”后,再调用“怪物减少”事件
9.打开“battleScenario”,在重新获取角色控制权后,设置鼠标不显示
9.点击场景中的碰撞区域,然后设置生成的敌人的数量和类型
为方便测试这里,设置敌人的数量为1
运行游戏效果如文章开头所示,当击败敌人后自动退出战斗