Skip to content

Curved movement

在曲线路径上移动对象。

作者和贡献者 to this community extension: pampogokiraly


此扩展允许在Bézier曲线路径上移动对象。

  • 路径可以动态构建,也可以从SVG格式的预定路径构建。
  • 一个行为在给定的持续时间内移动对象,有点像Tween扩展的方式。
  • 另一个行为使用速度和加速度移动对象。
  • 表达式提供了访问路径轨迹值以进行更复杂的移动。

这个扩展可以用于:

  • 移动按照模式行动的敌人
  • 动画装饰

查看更多...

提示

通过按照逐步指南了解如何安装新扩展

操作

追加曲线 在路径末尾追加一个三次贝塞尔曲线。

追加线条 在路径末尾追加一条直线。

追加平滑曲线 将三次贝塞尔曲线追加到对象路径的末端。第一个控制点与路径的最后一个控制点对称。

追加路径 将一个路径追加到另一个路径上。

追加旋转路径 将一个路径追加到另一个路径上。追加的路径将被旋转以实现平滑连接。

关闭路径 追加一条直线来关闭路径。

从SVG创建路径 根据SVG命令创建路径,例如“M 0,0 Cundefined5,0undefined00,45undefined00,100”。命令有:M = 移动,C = 曲线,S = 平滑,L = 直线。小写表示相对位置。构建命令的首选方法是使用外部SVG编辑器,如Inkscape。

删除路径 从内存中删除路径。

复制路径 复制路径。

反转路径 反转路径,末尾变为开头。

旋转路径 旋转路径。

缩放路径 缩放路径。

速度缩放Y 更改Y轴上的速度缩放。这可以改变路径的视点(从上到下或等距)。

条件

已关闭 检查路径是否关闭。

路径存在 路径存在。

表达式

表达式

说明

CurvedMovement::ElementCount(string)

返回组成路径的线条或曲线的数量。

🔤 名称 (String)

路径名称

CurvedMovement::FirstControlX(string, number)

返回曲线的X轴上的第一个控制点位置。

🔤 名称 (String)

路径名称

🔢 数字

曲线索引

CurvedMovement::FirstControlY(string, number)

返回曲线的Y轴上的第一个控制点位置。

🔤 名称 (String)

路径名称

🔢 数字

曲线索引

CurvedMovement::OriginX(string, number)

返回曲线的X轴上的起始位置。

🔤 名称 (String)

路径名称

🔢 数字

曲线索引

CurvedMovement::OriginY(string, number)

返回曲线的Y轴上的起始位置。

🔤 名称 (String)

路径名称

🔢 数字

曲线索引

CurvedMovement::PathAngle(string, number)

返回给定长度(以度为单位)的路径方向角度。

🔤 名称 (String)

路径名称

🔢 数字

路径上的长度

CurvedMovement::PathEndX(string)

返回路径结束点在X轴上的位移。

🔤 名称 (String)

路径名称

CurvedMovement::PathEndY(string)

返回路径结束点在Y轴上的位移。

🔤 名称 (String)

路径名称

CurvedMovement::PathLength(string)

返回路径的长度。

🔤 名称 (String)

路径名称

CurvedMovement::PathX(string, number)

返回给定长度的路径在X轴上的位置。

🔤 名称 (String)

路径名称

🔢 数字

路径上的长度

CurvedMovement::PathY(string, number)

返回给定长度的路径在Y轴上的位置。

🔤 名称 (String)

路径名称

🔢 数字

路径上的长度

CurvedMovement::SecondControlX(string, number)

返回曲线的X轴上的第二个控制点位置。

🔤 名称 (String)

路径名称

🔢 数字

曲线索引

CurvedMovement::SecondControlY(string, number)

返回曲线的Y轴上的第二个控制点位置。

🔤 名称 (String)

路径名称

🔢 数字

曲线索引

CurvedMovement::SpeedScaleY(string)

返回Y轴上的速度缩放。这用于改变路径的视点(从上到下或等距)。

🔤 名称 (String)

路径名称

CurvedMovement::TargetX(string, number)

返回曲线的X轴上的目标位置。

🔤 名称 (String)

路径名称

🔢 数字

曲线索引

CurvedMovement::TargetY(string, number)

返回曲线的Y轴上的目标位置。

🔤 名称 (String)

路径名称

🔢 数字

曲线索引

CurvedMovement::ToSvg(string)

返回路径的SVG命令。

🔤 名称 (String)

路径名称

在曲线上移动(基于速度)

以给定速度在曲线路径上移动对象。

行为操作

加速 使对象加速,直到达到给定的速度。

在期间加速 使对象加速到在给定时间内达到的速度。

绘制轨迹 绘制对象的轨迹。

跟随路径 更改对象所跟随的路径。

跟随路径到位置 更改对象所跟随的路径以达到位置。

路径上的位置 更改轨迹起点和当前位置之间的长度,计算循环的次数。

速度 更改对象的速度。

行为条件

能够进一步移动 检查对象是否还能够朝当前方向移动。```markdown

达到终点 检查物体是否已经到达路径的两个端点之一。

到达路径起点 检查物体是否已经到达路径的起始位置。

到达路径目标点 检查物体是否已经到达路径的目标位置。

当前循环次数 比较物体循环轨迹的次数。

循环上的位置 计算从轨迹起点到当前位置的长度,不包括循环部分。

路径上的位置 计算从轨迹起点到当前位置的长度,包括循环部分。

速度 比较物体的速度。

行为表达式

表达式

说明

Object.SpeedPathMovement::Loop()

返回物体循环轨迹的次数。

Object.SpeedPathMovement::MovementAngle()

返回物体在路径上的移动角度。

Object.SpeedPathMovement::PathOriginX()

返回物体路径在X轴上的起始位置。

Object.SpeedPathMovement::PathOriginY()

返回物体路径在Y轴上的起始位置。

Object.SpeedPathMovement::PositionOnLoop()

返回从轨迹起点到当前位置的长度,不包括循环部分。

Object.SpeedPathMovement::PositionOnPath()

返回从轨迹起点到当前位置的长度,包括循环部分。

Object.SpeedPathMovement::Speed()

返回物体的速度。

弯曲运动(基于持续时间)

在给定的持续时间内,以Tween缓动函数在曲线路径上移动物体。

行为动作

绘制轨迹 绘制物体的轨迹。

沿路径移动 沿着路径移动物体。

前进后退移动 沿路径移动物体,并返回。

沿路径移动到指定位置 沿着路径移动物体到指定位置。

前进后退移动到指定位置 沿路径移动物体到指定位置,并返回。

行为条件

移动完成 检查物体是否已经完成在路径上的移动。

到达终点 检查物体是否已经到达路径的两个端点之一。

行为表达式

表达式

说明

Object.TweenPathMovement::MovementAngle()

返回物体在路径上的移动角度。


此页面是一个由GDevelop社区创建的自动生成的关于_弯曲运动_扩展的参考页面。