手册:路线移动(路线移动设置与路线移动平台)

关于本手册

本手册讲解 ACTION GAME MAKER 的路线功能。它把沿路线移动对象的「路线移动设置(CourseFollow2D)」,以及成为沿路线移动的地板的「路线移动平台(CoursePlatform2D)」一并介绍。

ACTION GAME MAKER 中路线的概要

路线是在地图上绘制一条「道路」,并让东西沿着这条道路移动的功能。道路本身由「路线设置(Course2D)」持有,根据使用方式的不同分为两种用法。

用法 移动的是什么 主要用途
路线(对象) 放在路线之下的游戏对象 沿固定轨道飞行的敌人、旋转的障碍物、巡逻的道具
路线(平台) 平台本身(可以站上去的地板) 上下移动的升降台、横向流动的落脚点、矿车

两者绘制路线的方式相同。不同之处在于「谁在动」以及「能否站上去」。

放置方法

  1. 在地图制作视图中打开地图。
  2. 从「地图图层」停靠面板的添加菜单中,选择「路线(对象)」或「路线(平台)」。
  3. 路线设置及其子节点(路线移动设置或路线移动平台)会被一起创建。
  4. 绘制路线的形状,并设置要移动的东西。

对于「路线(对象)」,请把想要移动的游戏对象放入所创建的「路线移动设置」之下。对于「路线(平台)」,平台本身会自动创建图像、判定、动画的子节点,因此只要替换图像即可完成。

绘制路线的形状

选中路线设置后,中央画面的上方会出现「顶点工具」。

工具 内容
选择顶点 选中并移动顶点。Ctrl + 点击可添加顶点,右键点击可删除顶点
选择控制点 操作从顶点延伸出的手柄,决定曲线的弯曲程度
删除顶点 删除点击到的顶点
闭合曲线 把起点和终点连起来形成闭环

点击线上可以在该位置插入顶点(分割区间)。闭环的路线与循环移动很搭配,而像升降台那样的往返则用「在终点反转」来实现。

「路线移动设置(CourseFollow2D)」

让放在路线之下的游戏对象沿路线移动。

  • 进度 / 进度比率:路线上的起始位置。进度以像素计,进度比率以比例(0 到 1)计,改动任一个另一个都会联动。可以在同一条路线上放多个对象,只错开它们的起始位置。
  • 水平偏移 / 垂直偏移:相对路线的位置偏移多少来配置。
  • 沿路线方向旋转:打开后,对象会配合路线的前进方向旋转。
  • 循环 / 循环次数:走到端点后是否重复,以及重复的次数。
  • 反向前进:从路线的反方向(终点侧)前进。
  • 在终点反转:走到端点后掉头返回。用于往返的动作。
  • 三次插值:曲线的插值方式。打开更平滑但处理量增加,关闭处理更轻但会占用内存。

移动的速度按路线的每个顶点分别设置(见后述「每个顶点的设置」)。

「路线移动平台(CoursePlatform2D)」

沿路线移动的地板。它与物理运算同步移动,因此站在上面的角色会被稳定地运送。

路线的设置(进度・偏移・旋转・循环・反向・折返・插值)与路线移动设置的项目相同。此外还有以下设置。

  • 移动速度:在路线上前进的速度(每秒的像素数)。平台使用自身的移动速度,因此路线上每个顶点的移动速度会被忽略。
  • 速度曲线:乘算到移动速度上的倍率曲线。横轴是路线的进行度(0 到 1)。可以做出起点缓慢启动、中途加速这样的缓急变化。

启动(开始移动的时机)

  • 模式:从「始终」「成立后持续」「仅成立期间」中选择。「始终」不看启动条件,随时都会移动。「成立后持续」是条件一旦成立就持续移动,「仅成立期间」则只在条件成立期间移动。
  • 条件:排列开始移动的条件(见下一项)。一个条件都不放时会立刻开始移动。
  • 激活时的动画 / 非激活时的动画:在移动状态与停止状态切换时,由子级的动画播放器播放的动画。可以通过动画的轨道改变图像、切换显示、发出粒子等来制作演出。

启动条件(CoursePlatformCondition)

条件会从上往下,按各自的逻辑运算(AND / OR)组合进行判定。

  • 条件类型:从「乘员组」「输入」「开关」「变量」中选择。
  • 乘员组:查看平台上是否站着指定对象组的对象。留空则任何对象都成立。
  • 输入条件 / 输入源:用输入来驱动时的条件。输入源可以从「站在上面的对象」「任意手柄」「指定的手柄」中选择。可以做出由乘坐者操作驱动的矿车。
  • 开关名称 / 目标开关:查看开关的值。
  • 变量名 / 变量比较方法 / 目标变量:比较变量的值(等于・不等于・大于・大于等于・小于・小于等于)。
  • 开关和变量的引用来源可以从项目的数据库、指定的对象、共享数据板的对象中选择。
  • 反转条件 / 与前一条件的逻辑运算:反转条件的结果,或用 AND / OR 与前一条件相连。

每个顶点的设置

路线的顶点各自可以持有设置。在路线设置的检查器中展开「曲线」,编辑顶点(point_0、point_1…)中的设置。

  • 移动速度:从该顶点前往下一个顶点的速度(仅路线移动设置,平台会忽略)。
  • 动作切换开关:到达该顶点时,如果这个开关未成立就会停下等待。开关成立后则恢复移动。「中途暂停一下」的动作就在这里制作。
  • 变量的变更:到达该顶点时变更变量的值。

实用示例

上下移动的升降台

  • 放置「路线(平台)」,用 2 个顶点纵向绘制路线。
  • 打开「在终点反转」,同时也打开循环。
  • 把移动速度设为 60 左右,就成了缓缓上下的地板。

只在站上去时才移动的地板

  • 把启动的模式设为「仅成立期间」。
  • 在启动条件中添加「乘员组」,并指定玩家的组。
  • 就成了站在上面时才前进、下来就停住的地板。设为「成立后持续」的话,只要站上去一次就会一直走到最后。

用开关启动的机关

  • 把启动的模式设为「成立后持续」。
  • 在启动条件中添加「开关」,指定拉动拉杆时会 ON 的开关。
  • 给非激活时的动画分配停止中的画面、给激活时的动画分配运作中的画面,启动时就更容易看懂。

沿固定轨道飞行的敌人

  • 放置「路线(对象)」,用曲线绘制路线。
  • 把敌人对象放入「路线移动设置」之下。
  • 打开「沿路线方向旋转」,就能让机体朝前进方向倾斜。
  • 在同一条路线上放入多个敌人,并错开进度(或进度比率),就会形成编队飞来的动作。

中途会停住的落脚点

  • 在每个顶点的设置中,给想要停住的顶点的「动作切换开关」指定一个开关。
  • 到达该顶点时会停下,开关变为 ON 后开始移动。
  • 也可以用「变量的变更」来统计已经通过的顶点数。

注意事项

  • 速度曲线的值为 0 的位置,会成为再也无法离开的顶点(因为速度由「当前所在位置」决定)。实际上设有下限所以不会完全停住,但在接近 0 的位置会变得极慢。想让它原地停住时,请使用每个顶点的「动作切换开关」。
  • 平台不使用每个顶点的移动速度。速度由平台自身的移动速度和速度曲线决定。
  • 路线设置请放在游戏场景放置对象的层级中(ObjectRoot 之下)。
  • 想排列多条形状相同的路线时,可以使用地图图层停靠面板的复制(Ctrl+D)。
  • 放在路线上的对象,其移动由路线负责。即使想用对象一侧的移动模板来驱动,也是路线一侧的移动优先。