RPGMakerMV探秘16-YEP_X_ActSeqPack1
今天把yanfly的三个动作序列插件放在一起讲了,分别是YEP_X_ActSeqPack1.js、YEP_X_ActSeqPack2.js、YEP_X_ActSeqPack3.js,三个插件都是yep战斗引擎的扩展,需要战斗引擎插件的支持,所以在插件管理器中,将这三个插件放在YEP_BattleEngineCore的下方。

我们先看下组成技能及物品的五个不同的动作序列:
Setup Actions
这相当于施术者在施法前的准备动作。我们常看到的动作,如施术者向前走一小步或者拔出武器等。这一步会在施放技能或者消耗物品前执行。
Whole Actions
这些动作会作用在所有目标上。即使这个节点不被需要,很多动作还是被用来在所有敌人身上展示动画。这一步发生在技能施放或者物品消耗后。
Target Actions
这部分将单独影响所有目标。主要用在物理攻击上,带去更多的个性化形式的伤害。除非有其他的指令,否则此处发生的操作不会影响其他目标。
Follow Actions
这部分主要负责目标行动后的清理工作,比如移除状态标识、开始执行公共事件等。
Finish Actions
这个部分将让激活的战斗者关闭动作序列。其内容通常是运行等待并维持技能和道具执行的最后一刻,返回技能释放前的位置,等等。

在制作动作序列前,还需要搞清楚目标的分类:
* user; This will select the active battler.技能或者物品的使用者
* target, targets; These will select the active targets in question.数据库中技能或物品的目标
* actors, existing actors; These will select all living actors.我方存活角色
* all actors; This will select all actors including dead ones.我方所有角色
* dead actors: This will select only dead actors.我方阵亡角色
* actors not user; This will select all living actors except for the user.非施法者我方所有存活角色
* actor x; This will select the actor in slot x.我方X号角色
* character x; This will select the specific character with actor ID x.ID指定的特定角色
* enemies, existing enemies; This will select all living enemies.所有存活敌方
* all enemies; This will select all enemies, even dead.所有敌方,包括阵亡
* dead enemies: This will select only dead enemies.敌方所有阵亡
* enemies not user; This will select all enemies except for the user.除使用者所有地方角色
* enemy x; This will select the enemy in slot x.X号敌方角色
* friends; This will select the battler's alive allies.存活的友方
* all friends; This will select the all of battler's allies, even dead.所有友方
* dead friends; This will select the battler's dead allies.阵亡友方
* friends not user; This will select the battler's allies except itself.除施法者以外的友方
* friend x: This will select the battler's ally in slot x.X号友方
* opponents; This will select the battler's alive opponents.所有存活敌方
* all opponents; This will select the all of the battler's opponents.所有敌方
* dead opponents; This will select the battler's dead opponents.阵亡敌方
* opponent x: This will select the battler's opponent in slot x.x号敌方
* all alive; Selects all living actors and enemies.所有存活单位
* all members; Selects all living and dead actors and enemies.所有单位
* all dead; Selects all dead actors and enemies.已死单位
* all not user; This will select all living battlers except user.除自己所有存活单位
* focus; Selects the active battler and its targets.当前施法者及目标
* not focus; Selects everything but the active battler and its targets.当前施法者及目标以外单位

三个插件都提供了丰富的动作列表,这里就不一一列出。我们通过实际案例来分析一下动作序列,熟悉一些常见的动作。

<target action>
if user.attackMotion() !== 'missile' //如果不是远程攻击
move user: target, FRONT BASE, 20 //移动施法者至目标面前
face user: target //面对目标
wait for movement //等到移动完成
motion attack: user //执行攻击
action animation //默认攻击动画
wait for animation //等待动画完成
action effect //伤害效果
else //远程攻击
perform start //角色向前挪动一小步
wait for movement
motion attack: user
attack animation: target
wait for animation
action effect
end
</target action>
以上是普通攻击备注栏中的动作序列配置,主要作用是近战攻击时,角色的移动。

<Target Action>
zoom: 1.2, 15 //15帧内放大至1.2倍
camera focus: target, front, 30 //相机焦点
move user: target, FRONT, 20 //移动角色
opacity user: 0%, 20 //改变透明度
motion attack: user
perform action
motion wait: user
ANIMATION 6: target
action effect
wait: 20
ANIMATION 28: target
action effect
wait: 30
ANIMATION 151: target
wait: 5
ANIMATION 56: target
action effect
jump user: 250%, 60 //跳跃
move user: return, 60
opacity user: 100%, 30
</Target Action>
以上动作序列主要包括修改角色透明度、跳跃、缩放、改变相机焦点等动作。

<Target Action>
move user: target, front, 5
wait: 10
motion attack: user
ANIMATION 30: target
wait: 5
action effect
wait: 12
float target: 75%, 10 //漂浮
wait for float
ANIMATION 30: target
motion attack: user
wait: 3
action effect
float user: 175%, 6
wait: 3
action effect
wait: 3
action effect
wait: 20
ANIMATION 30: target
wait: 5
action effect
wait: 15
float user: 0%, 5
float target: 0%, 5
wait: 15
wait: 50
move user: return, 30
</Target Action>
以上动作序列主要增加了漂浮的效果。
丰富的动作列表加上发挥想象力的组合,配合上合适的动画,就能做出炫酷的技能效果。