在上一篇(UE4 回合游戏项目 22- 控制新角色)基础上继续增加两个角色进入战斗的逻辑
效果:
步骤:
1. 打开“gameMode1”,新增一个变量命名为“正在控制的所有玩家”,变量类型为“roleCategory”的数组
2.打开关卡蓝图,将生成的Pawn类型角色转换为“roleCategory”,再添加到“正在控制的所有玩家”这个数组中
将Pawn Class选项改为“player1”
3.在视口中复制一份空Actor作为“player2”的生成位置
4.回到关卡蓝图中
在生成“player2”后,将生成的角色也加入到数组中
此时播放游戏可以看到生成了两个角色:
接下来编辑进入战斗的逻辑
5.打开“碰撞进入战斗”这个蓝图。由于现在生成了两个角色,因此只销毁当前玩家控制的角色时不行的,因此,首先删除销毁Actor节点。
6.打开“battleScenario”蓝图,选中“进入战斗”节点,删除“碰撞玩家”的输入
将“碰撞的位置”这个变量改为数组
进入战斗前清空该数组
再创建一个变量“需要生成的角色类”,变量类型为“roleCategory”的类引用
进入战斗前清空该数组
遍历“正在控制的所有玩家”这个数组
将玩家的碰撞位置和生成的类分别加到“碰撞的位置”和“需要生成的角色类”数组中
进入战斗前销毁角色
遍历完成后就继续执行之前生成敌人的逻辑
新建一个变量,名为“生成的玩家数组”,对象类型为“roleCategory”
清空“生成的玩家数组”
遍历生成的角色类
生成角色
生成后的角色加入到“生成的玩家数组”
双击打开“怪物生成”这个合并的图表
7.打开“gameMode1”,添加一个输入
8.回到“battleScenario”蓝图,在变量生成完角色后执行开始战斗的事件