关于本手册
本手册讲解可视化脚本的动作「击退自身」(KnockbackSelf)。它是以最后受到的攻击方向为基准,把自己弹开的动作。「撞到敌人后向反方向飞出」「被斜上方击飞」这类受击反应,只用承受方的可视化脚本就能组建。
ACTION GAME MAKER 中击退的思路
击飞有 2 种组建方式。
| 组建方式 | 设置在哪里 |
|---|---|
| 从攻击方击飞 | 发出攻击一方的设置・动作 |
| 从承受方飞出(本动作) | 受到伤害的对象的可视化脚本 |
能从承受方组建的话,无论对手是什么,反应都一致。 即使敌人的攻击・子弹・尖刺・岩浆等攻击来源越来越多,只要在受击状态里放 1 个,就能对全部生效。能把击飞的距离和速度作为「被打一方角色的性质」来决定,也是它的优点。
本动作是以强制移动的形式工作的。 它与「移动对象」的方向・距离指定是同一机制,只是方向会根据受击信息自动确定。
使用方法
- 准备一个受到伤害时进入的状态(例如受击状态)。
- 在该状态中从「添加其他动作」放入「击退自身」。
- 设置基准点・方向的计算方式・距离・速度。
动作在进入状态时只执行 1 次。 即使停留在同一状态也不会重复。
在从未受击过的对象上什么都不会发生,因为没有可作为基准的受击信息。请把进入该状态的迁移条件设为「受到伤害」这类条件。
设置项目
基准点指定
计算飞出方向时,从哪里读取「对手的位置」。
| 选项 | 内容 |
|---|---|
| 最后受到的攻击判定 | 以命中的攻击判定的原点为基准(默认) |
| 攻击者的原点 | 以发出攻击的对象本体的原点为基准 |
选择「攻击判定」时,会使用距离自己最近的攻击判定的原点。 由于受击的那一刻它们是重叠的,因此可以把最近的判定视作命中的判定。如果取不到攻击判定的位置,则回退为攻击者的原点。
对于弹幕的子弹这类没有攻击者对象的攻击,无论选哪个都会使用子弹的坐标。
对于攻击距离较长的攻击,选择不同结果也会不同。 被长枪刺中时,选「攻击判定」会朝远离枪尖的方向飞,选「攻击者的原点」则会朝远离对手本体的方向飞。
击退方向指定
| 选项 | 飞出方向 | 主要用途 |
|---|---|---|
| 360度 | 沿着从基准点指向自己的方向,按原本的角度飞出 | 顶视图 |
| 左右 | 朝从基准点看自己所在的那一侧,水平飞出 | 侧视图 |
| 上抛 | 朝受击一侧的反方向,以指定角度飞出 | 侧视图 |
当基准点与自己的位置完全重合时,「360度」会使用向右的方向,「左右」「上抛」则视作从自己面朝的方向受到攻击,朝其反侧飞出。
上抛角度
只有选择「上抛」时才会出现的栏位。
| 数值 | 方向 |
|---|---|
| 90 | 正上方 |
| 45 | 斜上方(默认) |
| 0 | 水平 |
| -90 | 正下方 |
从左侧受到攻击且为 45 度时,会朝右上方飞出。 从左右哪一侧受到攻击是自动判断的,因此角度只需指定一侧即可。
反方向移动
勾选后,飞出的方向会反转。
- 「360度」…… 反转 180 度
- 「左右」…… 左右互换
- 「上抛」…… 只有左右互换(上下方向保持不变)
可用于朝对手冲过去的反击,或被吸过去的表现。
距离
以像素指定被击飞的距离。默认为 0,请务必填入数值。
移动速度类型
| 选项 | 需要追加指定的内容 |
|---|---|
| 对象的速度 | 速度反映系数(%)。相对于对象移动速度的倍率 |
| 到达时间 | 到达时间(秒)。在指定时间内移动完该距离 |
想固定距离只改变速度时,「到达时间」更直观。 指定「0.2 秒 80px」这样的值,就不会受角色移动速度的影响。
选项
| 项目 | 内容 |
|---|---|
| 暂停动画 | 击退期间暂停动画(想用 1 张受击图定住时) |
| 显示方向与移动方向相反 | 朝向与飞出方向相反(被击飞的同时看着对手的表现) |
显示方向默认不会改变。 击退期间也保持原来的朝向。
击退期间可视化脚本仍会继续运行。 动作的执行和状态的迁移都不会停止。
实用示例
碰到敌人后向反方向飞出(侧视图)
- 制作由「受到伤害」进入的受击状态。
- 放入「击退自身」,并按如下设置:
- 基准点指定:最后受到的攻击判定
- 击退方向指定:上抛
- 上抛角度:45
- 距离:60
- 移动速度类型:到达时间 / 到达时间:0.2
- 打开「暂停动画」,让受击图定住。
- 在迁移条件上放置「动作时间已过」等,返回通常状态。
向全方向飞出(顶视图)
- 在受击状态放入「击退自身」。
- 把击退方向指定设为「360度」。
- 决定距离和速度。
上下方向也会被击飞,所以俯视视角请使用这个。
被击飞的同时看着对手
- 打开「显示方向与移动方向相反」。
- 由于朝向与飞出方向相反,看起来就是一直看着对手的画面。
与无敌时间组合
- 在受击状态中,与「击退自身」同时启用无敌设置。
- 在击退结束之前不会再受到额外的伤害。
无敌期间受击信息不会更新,因此飞出方向也不会中途改变。
攻击被格挡时略微后退
- 在格挡成立时进入的状态放入「击退自身」。
- 距离设小(10〜20px 左右),到达时间设短(0.1 秒左右)。
- 「暂停动画」保持关闭,让格挡动作继续播放。
注意事项
- 从未受击过时什么都不会发生,因为没有可作为基准的受击信息。请放在由「受到伤害」进入的状态中。
- 距离的默认值是 0。 忘记设置的话,动作虽在执行却什么都不会飞。
- 记录的是「最后受到的攻击」的信息。 如果在受击之后过了一段时间才执行本动作,飞出方向的基准会是受击那一瞬间的位置,而不是对手当时的位置。
- 「360度」在侧视图下也会向上下飞。 横版视角请使用「左右」或「上抛」。
- 「上抛」的反方向只反转左右。 想反转上下时,请在上抛角度中填入负值。
- 对于弹幕的子弹这类没有攻击者对象的攻击,基准点的选择不会产生差异。 两者都会使用子弹的坐标。
- 如果基准点与自己完全重合,方向会根据显示方向推定。 从正上方或正下方被压中这类命中方式,可能会朝非本意的一侧飞出。
- 击退期间可视化脚本不会停止。 不想接受移动输入时,请一并使用受击状态侧禁用输入的设置。
- 由于是强制移动,遇到墙壁就会停下。 并不一定必然移动指定的距离。
- 机关(尖刺・岩浆)侧没有击退设置。 想用机关击飞时,也请把本动作放在承受的一方。