・概要
セイバー本体(EXセイバーを含む)の処理に関して解説する。
・loadの処理
・・カラーオブジェクトの作成
「・属性関連の処理」の「・・セイバーの着色」を参照。
ASのファイル:zero_saber_body.txt
color_object=new Color(_parent.zero_saber_AA) //着色用のカラーオブジェクトを作成する
・・セイバーの攻撃の方向
ASのファイル:zero_saber_body.txt
zero_saber_attack_direction //セイバーの攻撃の方向
・・セイバーのタイプ
セイバー本体の
hitrectは、他のセイバーのhitrectとは異なる階層に配置されるため、それを識別するために用いられる。
「敵との
接触判定」の処理の際に用いている。
ASのファイル:zero_saber_body.txt
zero_saber_type="saber_body" //セイバーのタイプ(セイバー本体)
・セイバーモーションの判定がない場合
セイバーモーションの判定がない場合は、各種の値をリセットする。この処理は、必須ではない可能性が高いが、一応記述している。
ASのファイル:zero_saber_body.txt
if(_root.zero_saber=="none"){ //セイバーモーションの判定がない場合,各種の値をリセット
zero_attack_damage=0
zero_attack_chain=0;zero_attack_chain_boss=0
}
・属性関連の処理
・・概要
「エレメントアタッチメント(ボディチップ)」装着時や「EXセイバー発動」の際に、属性が付加される場合がある。
・・属性の設定
記述の簡略化のため、属性の情報を変数に保存する。
ASのファイル:zero_saber_body.txt
zero_attack_element=_root.zero_element_attachment_saber
・・セイバーの着色
↓セイバーの着色。
ASのファイル:zero_saber_body.txt
if(zero_attack_element=="none"){color_object.setRGB(0x006600)} //無属性
else if(zero_attack_element=="thunder"){color_object.setRGB(0x888800)} //雷属性
︙
・セイバーエクステンド
一部のセイバーでは、セイバーが拡大される。名前の元ネタはロックマンX6。
↓セイバーエクステンド(EX空中回転斬り)。セイバーエクステンドが適用されない場合も示す。
ASのファイル:zero_saber_body.txt
_parent._xscale=100;_parent._yscale=100 //スケールをリセットしておく
if(_root.zero_saber=="ex_saber_jump_rolling_slash" and _root.zero_saber_extend=="ex_saber_jump_rolling_slash"){_parent._xscale=130;_parent._yscale=130;color_object.setRGB(0x303030)} //EX空中回転斬り,スケール変化,着色
︙
・ダメージ
・・概要
「セイバーモーションの判定」によってダメージが変化する。
↓ダメージ(「zero_attack_damage」)の変化。
・・歩きセイバー
ここでは、記述が簡易である、「歩きセイバー」を例にする。
ASのファイル:zero_saber_body.txt
else if(_root.zero_saber=="walk"){zero_attack_damage=6}
・「_root.zero_saber=="walk"」:「セイバーモーションの判定」が「歩き」である。
・「zero_attack_damage=6」:セイバーのダメージを設定する。
他のセイバーに関しても、同様に設定している。
・・下入れセイバー
ジャンプセイバー(「_root.zero_saber=="jump" and _root.zero_saber_jump_down==0」)と下入れセイバー(「_root.zero_saber_jump_down==1 or _root.zero_saber_jump_down==2」)では、ダメージが異なる(原作準拠)。上の動画も参照。
・連鎖値
・・概要
「セイバーモーションの判定」などによって連鎖値が変化する。
↓連鎖値(「zero_attack_chain」「zero_attack_chain_boss」)の変化。
・・通常状態のセイバー(一段目)
ここでは、記述が簡易である、「
通常状態のセイバー(一段目)」を例にする。
ASのファイル:zero_saber_body.txt
else if(_root.zero_saber=="normal_1"){zero_attack_chain=304;zero_attack_chain_boss=304}
・「_root.zero_saber=="normal_1"」:「セイバーモーションの判定」が「通常状態(一段目)」である。
・「zero_attack_chain=304」:セイバーの連鎖値(ボス以外)を設定する。
・「zero_attack_chain_boss=304」:セイバーの連鎖値(ボス)を設定する。
他のセイバーに関しても、同様に設定している。
「EX空中回転斬り」などは、「セイバーモーションの時間のカウント」が増加すると、連鎖値が変化する。この処理により、連続でヒットするようになる。
・・チャージセイバー、ジャンプセイバー
チャージセイバー、ジャンプセイバーでは、連鎖値(ボス以外)の値を同一の値にしている。これは、チャージセイバーから下入れセイバーに移行した場合に、連続でヒットしないようにするための措置である。
・敵との接触判定
・・概要
バスターとほぼ同様の処理を行っているので、
バスターの「・敵との接触判定」を参照。ただし、消滅判定の処理は行わない。
最終更新:2020年12月12日 11:06