5.测试重叠 Actor


现在,如有资源重叠在方块触发器上,OnComponentBeginOverlap 事件便会执行。我们只需要在重叠的资源为替身或者 Pawn时 实际执行发射行为。以提出问题的方式来看待:“重叠方块触发器的是和 Pawn 相同的 Actor 吗?”

通过对 OnComponentBeginOverlap 事件输出的 “Other Actor” 的使用达成这一点。

  1. OnComponentBeginOverlap 事件上点击 Other Actor 引脚,将其拖入图表中空白处并释放,以打开快捷菜单。

    OtherActorContext.png

    快捷菜单具有自适应性,对当前使用引脚进行过滤,仅显示兼容的节点。

  2. 在搜索框中输入 “=” 对可用节点进行过滤,然后选择 Equals(物体)

    EqualsOtherActor.png

    我们可将 Side Scroller Char 设作对 Equals 节点的其他输入,但如果使用的角色发生变化,需要重新打开该蓝图并进行手动更新。 取而代之的是,我们将为当前使用的 Pawn 设置一个引用。

  3. 在图表的空白处 单击右键,呼出快捷菜单。

  4. 在菜单的搜索框中输入 “Pawn”,然后选择 Get Player Pawn (在 游戏 下)。

    GetPlayerPawnMenu.png

  5. Get Player Pawn 上的 Return Value 输出和 Equals 节点上第二个输入连接起来。

    EqualsComplete.png

    现在便拥有了一个节点,它能分辨“其他 Actor”是否即为玩家所控制的 Pawn,将根据这个答案改变图表的执行流程。即意味着我们将指引离开 OnComponentBeginOverlap 节点后 的执行流程。

    为此需要使用一个“流程控制”节点。具体而言,需要使用 Branch 节点。

  6. 拖动 OnComponentBeginOverlap 节点上的执行引脚,然后在图表空白处释放。

    ExecutionMenu.png

  7. 在搜索框中输入“Branch”,然后从快捷菜单中选择 Branch

    BranchAdded.png

  8. Equals 节点的输出引脚与 Condition 节点上的输入布尔型引脚相连。

    BranchComplete.png

现在便可使用图表设置不同行为进行执行,行为取决于重叠的 Actor 是否为 Pawn。下一步中我们便会进行该操作,并设置蓝图节点 发射角色(如 Equals 对比的结果为 True。)