2018年8月4日
UE4中UMG响应按键输入事件
前言
一般在游戏设计UI时,我们会为UI加入操作快捷键,例如快速贩卖,快速排序包裹,技能栏快速切换等。为了逻辑的统一,按键的响应我们提倡放到UI中,这样操控逻辑入口就稳定了!
在虚幻中,UMG如何响应用户按键输入事件呢?这其实非常简单!
目的
将用户的按键输入事件传递到UMG中,在UMG中响应逻辑。
当然你可以选择有输入组件能力的角色进行事件传递,但这处理起来很麻烦,我们需要角色持有UMG的对象指针,并且需要维护数据对象。
步骤
- 构建UMG
- 将UMG显示到窗口中
- 在用户输入事件列表中注册输入事件
- 在UMG中绑定输入事件
在项目用户输入列表中加入如下输入事件
在UMG中加入如下蓝图内容
进行测试即可!在没有开启UMG时,角色蓝图中Fire事件可以响应。当开启UMG后,角色蓝图中Fire事件失效,UMG中的Fire事件响应(注意图二中的Fire事件是自定义的,名称你可以随意)。
注意
- UMG中只能响应Action事件,如果需要响应Axis事件需要自行编写逻辑
- 勾选Consume则事件只传递到当前UMG,不会向下传递,如果需要向下传递,可去掉节点中的勾
- Action Name是在用户输入事件列表中注册的名称
虚幻版本 4.19.2