功能入口
Edit=>ProjectSetting=>Engine=>Input=>
输入类型介绍
Action Mappings
代表相应的两种状态,按下(1)和松开(0)
Axis Mappings
返回的是一个0.1和1.0的数值代表松开和按下的时间。
动态绑定按键
//添加轴向绑定事件
void AddAxisMapping(const FInputAxisKeyMapping&, KeyMapping, bool bForceRebuildKeymaps = true);
//移除轴向绑定事件
void RemoveActionMapping(const FInputActionKeyMapping&,KeyMapping, bool bForceRebuildKeymaps = true);
//添加普通按键绑定事件
void AddActionMapping(const FInputActionKeyMapping&,KeyMapping, bool bForceRebuildKeymaps = true);
//移除普通按键绑定事件
void RemoveActionMapping(const FInputActionKeyMapping& KeyMapping, bool bForceRebuildKeymaps = true);
常用API
Action绑定
通过InputComponent进行输入绑定
InputComponent->BindAction("MouseLeft", IE_Pressed, this, &UConstructionSystemComponent::ToggleConstructionSystem);
4个参数
-
按键名称
-
响应类型 IE_Pressed和IE_Released
-
函数对象指针
-
需要调用的函数
Axis绑定
InputBindings.CursorRotate = InputComponent->BindAxis("CSCursorRotate", this, &UConstructionSystemBuildTool::HandleInput_RotateCursorStep);
Tip:按键设定【泛指:键盘,手柄】不能冲突,也就是一个按键只能绑定一个功能。
如果要同时绑定,则可以通过不同InputComponent的优先级属性进行控制。