运动控制设置
GMS_MovementControlSetting一个运动控制设置可以配置多个不同的移动状态下的移动/旋转设置,以此达到不同的运动状态下有不同的速度,操控感等。
创建运动控制设置

你通过在编辑器下创建类型为GMS_MovementControlSetting的数据资产,即可新建新的运动控制设置。
添加运动控制设置到运动集设置
GMS已经提供大量预置的好的运动控制设置,这里我们采用MC_Normal.

Note
如果你是Overlay重度用户,你可能还希望不同的OverlayMode也能对控制产生影响,那么可以在ControlSettings这个map中加入不同OverlayMode和运动控制设置的映射关系。针对某一OverlayMode,如果没有对应的有效控制设置,那么会回退到默认的控制设置。
运动状态设置
一个运动控制设置又可以包含多个运动状态设置(MovementStateSetting),它定义了常规的运动状态,即:走,跑和疾跑。

Note
一个运动控制设置,至少需要1个运动状态设置,且该数组需要根据速度从小到大排序。
每一个运动状态设置,可以指定其移动速度,等级,加速度和减速度等。
旋转模式
GMS默认提供了两种旋转模式,分别是:
- RotationMode.VelocityDirection:角色永远朝向移动输入方向,(可能是玩家输入,也可以是某个速率的方向)。
- RotationMode.ViewDirection:角色永远朝向视角的方向,(即朝向ControlRotation)。

不同的旋转模式,GMS提供了多种实现,你可以在配套项目中切换不同的设置来观察其中的区别。
For C++ Users
不同类型的旋转模式对应的设置由InstancedStruct实现,在代码中,根据不同的结构体类型,进行不同的处理。
你可以依样画葫芦,添加新的Struct以及新的旋转处理逻辑。
拓展
鉴于运动控制设置是数据资产,你也可以通过继承自默认的MovementControlSetting来添加额外的设置字段,并在运动集设置中,选择你自定义后的运动控制设置。
