c++ UI Input system in Unreal Engine 5How To Rebind Key/Action and Axis Mappings
时间: 2024-02-07 16:02:08 浏览: 19
在UE5中,可以使用C++代码来重新绑定按键和轴线。
以下是在UE5中重新绑定按键和轴线的C++代码示例:
1. 首先,需要包含InputCoreTypes.h和InputBinding.h头文件。
```
#include "InputCoreTypes.h"
#include "InputBinding.h"
```
2. 在代码中,可以使用以下方法来获取当前的InputBinding。
```
const UInputSettings* InputSettings = GetDefault<UInputSettings>();
const TArray<FInputActionKeyMapping>& ActionMappings = InputSettings->GetActionMappings();
const TArray<FInputAxisKeyMapping>& AxisMappings = InputSettings->GetAxisMappings();
```
3. 然后,可以使用以下方法来重新绑定按键和轴线。
```
// 重新绑定按键
FInputActionKeyMapping NewActionMapping("NewActionName", EKeys::NewKey);
InputSettings->AddActionMapping(NewActionMapping);
// 重新绑定轴线
FInputAxisKeyMapping NewAxisMapping("NewAxisName", EKeys::NewKey, 1.f);
InputSettings->AddAxisMapping(NewAxisMapping);
```
4. 最后,可以使用以下方法来保存更改。
```
InputSettings->SaveKeyMappings();
```
重新绑定按键和轴线后,相关的UI控件也需要进行相应的修改才能反映更改。具体步骤与使用Blueprint相同,需要找到与要重新绑定的InputAction或InputAxis相关联的事件,并将其中与InputAction或InputAxis相关的部分修改为新的InputBinding名称。