10/14/2020
输入映射
您可以把 Action Mappings (动作映射)想象成**"是或否"的输入,**类似于鼠标按键或摇杆按键。 当在短时间内按键、松开、双击或按住不放时,它们会进行该项操作的汇报。 离散事件的动作,诸如跳跃、射击或与物体互动都可以使用这种类型的映射。
Axis Mappings (坐标轴映射)是持续不断的 - 您可以把它们想象成为"数量"输入,例如摇杆上的杆,或者鼠标指针的位置。 它们会在每一帧汇报其值,即使在不移动时也是如此。 一般涉及到量级或方向的内容,比如行走、到处看、开车等都可以用这种方式来处理。
设置轴映射
通过轴映射可将键盘、鼠标和控制器输入映射到一个"易懂的命名",之后再绑定到游戏行为(如移动)。轴映射将不停轮询,实现无缝的动作过渡和流畅的游戏行为。
- 轮询:定时发出询问,依序询问每一个输入输出是否需要其服务
- Scale表示映射的大小,如果没按是0,按了W是3.0
绑定映射(SetupPlayerInputComponent)
每一个Pawn或者Character都需要设置玩家输入组件
// Called to bind functionality to input
void APawnWithCamera::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
Super::SetupPlayerInputComponent(PlayerInputComponent);
//连接"ZoomIn"的事件
PlayerInputComponent->BindAction("ZoomIn", IE_Pressed, this, &APawnWithCamera::ZoomIn