运动控制设置

Cover.GMS
作

作者

作者

创建时间: 2025年4月20日更新时间: 2026年4月14日

目录

运动控制设置

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

创建运动控制设置

运动控制设置.创建

你通过在编辑器下创建类型为GMS_MovementControlSetting的数据资产,即可新建新的运动控制设置。

添加运动控制设置到运动集设置

GMS已经提供大量预置的好的运动控制设置,这里我们采用MC_Normal.

GMS运动控制设置.026

Note

如果你是Overlay重度用户,你可能还希望不同的OverlayMode也能对控制产生影响,那么可以在ControlSettings这个map中加入不同OverlayMode和运动控制设置的映射关系。针对某一OverlayMode,如果没有对应的有效控制设置,那么会回退到默认的控制设置。

运动状态设置

一个运动控制设置又可以包含多个运动状态设置(MovementStateSetting),它定义了常规的运动状态,即:走,跑和疾跑。

运动控制设置.移动状态

Note

一个运动控制设置,至少需要1个运动状态设置,且该数组需要根据速度从小到大排序。

每一个运动状态设置,可以指定其移动速度,等级,加速度和减速度等。

旋转模式

GMS默认提供了两种旋转模式,分别是:

  • RotationMode.VelocityDirection:角色永远朝向移动输入方向,(可能是玩家输入,也可以是某个速率的方向)。
  • RotationMode.ViewDirection:角色永远朝向视角的方向,(即朝向ControlRotation)。
运动控制设置.旋转模式设置

不同的旋转模式,GMS提供了多种实现,你可以在配套项目中切换不同的设置来观察其中的区别。

For C++ Users

不同类型的旋转模式对应的设置由InstancedStruct实现,在代码中,根据不同的结构体类型,进行不同的处理。

你可以依样画葫芦,添加新的Struct以及新的旋转处理逻辑。

拓展

鉴于运动控制设置是数据资产,你也可以通过继承自默认的MovementControlSetting来添加额外的设置字段,并在运动集设置中,选择你自定义后的运动控制设置。