・概要

 セイバー本体(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
 

・・セイバーの着色

 チャージセイバーや一部のEXセイバーは、属性の付加などを示すために、着色する場合がある。詳細は、参考サイト(https://hakuhin.jp/as/color.html#COLOR_00)を参照。

↓セイバーの着色。

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