自定义运动

不直接实现对象的任何移动。基于事件表事件设置实现自定义运动。

自定义运动概念

唤境Evkworld中的大多数运动通过操纵两个值来工作:X轴上的速度(dx)和Y轴上的速度(dy)。这些也称为VectorX和VectorY。

自定义运动能力为您存储dx和dy值,并提供有助于轻松实现移动所需的数学和算法的功能

步进概念

自定义运动每一帧根据dx和dy值调整对象的位置。自定义运动可以使用多个步进,当如果物体移动得非常快,可以帮助更准确地检测碰撞。有三个步进的检测方式:线性,先水平再垂直,先垂直再水平。

自定义运动属性

步进移动模式

设置步进模式,根据移动步长属性来确定步数(非无模式)。举例来说,运动对象和碰撞对象碰撞 0.1秒检查一次,然后如果对象速度非常快,导致检查不到这次碰撞(对象就已经超过碰撞对象了),那么运动对象就会视为穿透了碰撞对象。所以提高检查次数(也就是改变step),比如改成 0.01检查一次,就能避免这个问题。
无:根据速度每一帧判断一次
线性:将对象沿直线朝向目标位置,根据移动步长,检测是否发生碰撞
先水平再垂直:将首先在X轴上触发对象到目的地(触发水平步骤),然后在Y轴上触发(触发垂直步骤)
先垂直再水平:将首先在Y轴上触发对象到目的地(触发垂直步骤),然后在X轴上触发(触发水平步骤)。

移动步长

如果步进模式不是“无”,则这是每个步骤朝向目标位置的每个刻度的像素距离。默认值为5,如果对象在刻度线中移动20个像素,则它将以四个五像素步长移动。

初始状态

初始化时启用还是禁用该能力。如果禁用,则可以使用“启用能力”动作在运行时启用它。

自定义运动条件

正在移动时

当对象正在移动时为真

比较速度

比较对象的当前速度

当步进移动时

当步进移动时、水平步进移动时、当垂直步进移动时触发

自定义运动动作

停止

将对象的速度设置为0

反向

将对象向当前运动方向的反向运动

设置速度

设置对象的当前速度

令对象加速

令对象向前或沿某个轴加速

朝某方向加速

令对象朝某一方向加速

朝某位置加速

令对象朝某一位置加速

设置运动方向

设置对象当前的运动角度

旋转

将对象的运动角度顺时针旋转、逆时针旋转

停止步进移动

停止对象当前的步进移动,令其在当前帧内不再触发步进信号

移出刚体

当对象与刚体重叠时,将其移动到其他位置

启用能力

设置是否启用该能力

自定义运动表达式

dy

当前运动在垂直方向上的速度

dx

当前运动在水平方向上的速度

Speed

当前对象的运动速度

MovingAngle

当前运动的方向