输入操作映射
在上一篇文章中,我们已经实现了扫掠检测。目前扫掠检测放在场景组件的 Tick 函数中,但是我们不需要每帧都进行检测,我们可以按下鼠标左键才开启检测。
鼠标/键盘输入的响应,我们在之前的文章中已经学习过。这篇文章我们介绍 Unreal Engine 的输入操作映射功能,它也是输入系统的一部分。
与之前在代码或蓝图中指定具体按键(比如空格键)不同,输入操作映射是一种抽象。它可以把多个设备的多个输入,映射到同一操作上。这避免了代码里的硬编码,更利于后续的修改和扩展。
如图 1 所示,我们可以在 设置 - 项目设置 窗体中的 引擎 - 输入 标签卡中增加操作映射。此处我们增加了一个 Grab 操作,按下鼠标左键,或者按下游戏手柄右扳机,都可以触发。

设置完成之后,我们回到之前创建的人物蓝图 BP_Player 中。当我们搜索 Grab 关键字时,会发现 Unreal Engine 已经自动帮我们新增了对应的 InputAction 节点。如图 2 所示,在这篇文章中我们还只是验证功能:按键按下和释放时,在编辑器中打印消息。

如图 3 所示,当我们按下和释放左键时,可以在编辑器左上角看到预期的消息。
