手册:动作「击退自身」(KnockbackSelf)

关于本手册

本手册讲解可视化脚本的动作「击退自身」(KnockbackSelf)。它是以最后受到的攻击方向为基准,把自己弹开的动作。「撞到敌人后向反方向飞出」「被斜上方击飞」这类受击反应,只用承受方的可视化脚本就能组建。

ACTION GAME MAKER 中击退的思路

击飞有 2 种组建方式。

组建方式 设置在哪里
从攻击方击飞 发出攻击一方的设置・动作
从承受方飞出(本动作) 受到伤害的对象的可视化脚本

能从承受方组建的话,无论对手是什么,反应都一致。 即使敌人的攻击・子弹・尖刺・岩浆等攻击来源越来越多,只要在受击状态里放 1 个,就能对全部生效。能把击飞的距离和速度作为「被打一方角色的性质」来决定,也是它的优点。

本动作是以强制移动的形式工作的。 它与「移动对象」的方向・距离指定是同一机制,只是方向会根据受击信息自动确定。


使用方法

  1. 准备一个受到伤害时进入的状态(例如受击状态)。
  2. 在该状态中从「添加其他动作」放入「击退自身」。
  3. 设置基准点・方向的计算方式・距离・速度。

动作在进入状态时只执行 1 次。 即使停留在同一状态也不会重复。

在从未受击过的对象上什么都不会发生,因为没有可作为基准的受击信息。请把进入该状态的迁移条件设为「受到伤害」这类条件。


设置项目

基准点指定

计算飞出方向时,从哪里读取「对手的位置」。

选项 内容
最后受到的攻击判定 以命中的攻击判定的原点为基准(默认)
攻击者的原点 以发出攻击的对象本体的原点为基准

选择「攻击判定」时,会使用距离自己最近的攻击判定的原点。 由于受击的那一刻它们是重叠的,因此可以把最近的判定视作命中的判定。如果取不到攻击判定的位置,则回退为攻击者的原点。

对于弹幕的子弹这类没有攻击者对象的攻击,无论选哪个都会使用子弹的坐标。

对于攻击距离较长的攻击,选择不同结果也会不同。 被长枪刺中时,选「攻击判定」会朝远离枪尖的方向飞,选「攻击者的原点」则会朝远离对手本体的方向飞。

击退方向指定

选项 飞出方向 主要用途
360度 沿着从基准点指向自己的方向,按原本的角度飞出 顶视图
左右 朝从基准点看自己所在的那一侧,水平飞出 侧视图
上抛 朝受击一侧的反方向,以指定角度飞出 侧视图

当基准点与自己的位置完全重合时,「360度」会使用向右的方向,「左右」「上抛」则视作从自己面朝的方向受到攻击,朝其反侧飞出。

上抛角度

只有选择「上抛」时才会出现的栏位。

数值 方向
90 正上方
45 斜上方(默认)
0 水平
-90 正下方

从左侧受到攻击且为 45 度时,会朝右上方飞出。 从左右哪一侧受到攻击是自动判断的,因此角度只需指定一侧即可。

反方向移动

勾选后,飞出的方向会反转。

  • 「360度」…… 反转 180 度
  • 「左右」…… 左右互换
  • 「上抛」…… 只有左右互换(上下方向保持不变)

可用于朝对手冲过去的反击,或被吸过去的表现。

距离

以像素指定被击飞的距离。默认为 0,请务必填入数值。

移动速度类型

选项 需要追加指定的内容
对象的速度 速度反映系数(%)。相对于对象移动速度的倍率
到达时间 到达时间(秒)。在指定时间内移动完该距离

想固定距离只改变速度时,「到达时间」更直观。 指定「0.2 秒 80px」这样的值,就不会受角色移动速度的影响。

选项

项目 内容
暂停动画 击退期间暂停动画(想用 1 张受击图定住时)
显示方向与移动方向相反 朝向与飞出方向相反(被击飞的同时看着对手的表现)

显示方向默认不会改变。 击退期间也保持原来的朝向。

击退期间可视化脚本仍会继续运行。 动作的执行和状态的迁移都不会停止。


实用示例

碰到敌人后向反方向飞出(侧视图)

  1. 制作由「受到伤害」进入的受击状态。
  2. 放入「击退自身」,并按如下设置:
    • 基准点指定:最后受到的攻击判定
    • 击退方向指定:上抛
    • 上抛角度:45
    • 距离:60
    • 移动速度类型:到达时间 / 到达时间:0.2
  3. 打开「暂停动画」,让受击图定住。
  4. 在迁移条件上放置「动作时间已过」等,返回通常状态。

向全方向飞出(顶视图)

  1. 在受击状态放入「击退自身」。
  2. 把击退方向指定设为「360度」。
  3. 决定距离和速度。

上下方向也会被击飞,所以俯视视角请使用这个。

被击飞的同时看着对手

  1. 打开「显示方向与移动方向相反」。
  2. 由于朝向与飞出方向相反,看起来就是一直看着对手的画面。

与无敌时间组合

  1. 在受击状态中,与「击退自身」同时启用无敌设置。
  2. 在击退结束之前不会再受到额外的伤害。

无敌期间受击信息不会更新,因此飞出方向也不会中途改变。

攻击被格挡时略微后退

  1. 在格挡成立时进入的状态放入「击退自身」。
  2. 距离设小(10〜20px 左右),到达时间设短(0.1 秒左右)。
  3. 「暂停动画」保持关闭,让格挡动作继续播放。

注意事项

  • 从未受击过时什么都不会发生,因为没有可作为基准的受击信息。请放在由「受到伤害」进入的状态中。
  • 距离的默认值是 0。 忘记设置的话,动作虽在执行却什么都不会飞。
  • 记录的是「最后受到的攻击」的信息。 如果在受击之后过了一段时间才执行本动作,飞出方向的基准会是受击那一瞬间的位置,而不是对手当时的位置。
  • 「360度」在侧视图下也会向上下飞。 横版视角请使用「左右」或「上抛」。
  • 「上抛」的反方向只反转左右。 想反转上下时,请在上抛角度中填入负值。
  • 对于弹幕的子弹这类没有攻击者对象的攻击,基准点的选择不会产生差异。 两者都会使用子弹的坐标。
  • 如果基准点与自己完全重合,方向会根据显示方向推定。 从正上方或正下方被压中这类命中方式,可能会朝非本意的一侧飞出。
  • 击退期间可视化脚本不会停止。 不想接受移动输入时,请一并使用受击状态侧禁用输入的设置。
  • 由于是强制移动,遇到墙壁就会停下。 并不一定必然移动指定的距离。
  • 机关(尖刺・岩浆)侧没有击退设置。 想用机关击飞时,也请把本动作放在承受的一方。
2 个赞