・概要

 「被ダメージ状態」とは、敵などとの接触により、ダメージを受け、ノックバックしている状態のことを指す。

↓被ダメージ状態。

 被ダメージ状態への移行に関しては、各種地形・敵の影響の「・各種地形・敵の影響(2)」の「・・敵との接触判定の影響」を参照。

・loadの処理

・・速度

 「・モーション、速度」の「・・速度」を参照。

ASのファイル:zero_load.txt
 
velocity_zero_damage_knockback	//ノックバックの速度
velocity_zero_damage_knockback_normal=1	//ノックバックの速度(通常)
︙
 

・・カウント

 「・ノックバックのカウント」を参照。

ASのファイル:zero_load.txt
 
count_zero_damage_knockback_time=0	//ノックバックのカウント
count_zero_damage_knockback_time_max=15	//ノックバックのカウントの最大値
 

・・方向

 「・モーション、速度」の「・・モーション、x方向の速度」を参照。

ASのファイル:zero_load.txt
 
zero_damage_knockback_direction	//ノックバックの方向(画面基準)
 

・攻撃のキャンセル

 被ダメージ状態においては、攻撃が強制的にキャンセルされる

↓攻撃のキャンセル。通常状態セイバー(二段目)が途中で強制的にキャンセルされる。

ASのファイル:zero_action_damage.txt
 
_root.zero_buster="none";_root.zero_saber="none"	//攻撃のキャンセル
 

・ノックバックのカウント

 被ダメージ状態中は、ノックバックのカウントを増加させている。そして、カウントが最大値になるまで、操作不能になる。

ASのファイル:zero_action_damage.txt
 
count_zero_damage_knockback_time++	//ノックバックのカウントを増加させる
 

 カウントのリセットに関しては、各種の値のリセットの「・被ダメージ状態関連」を参照。

・モーション、速度

・・速度

 ここでは、「ノックバックの速度(通常)」のみを扱う。
 「アブソーバ装着中」「ライト装着中」に関しては、ボディチップの「・アブソーバ」「・ライト」を参照。

ASのファイル:zero_action_damage.txt
 
︙
else{velocity_zero_damage_knockback=velocity_zero_damage_knockback_normal}	//ノックバックの速度(通常)
 

・・モーション、x方向の速度

 モーションに関しては、「ノックバックの方向」とゼロの方向が等しいか否かによって、場合分けをしている。
 「ノックバックの方向」に関しては、各種地形・敵との接触判定の「・敵との接触判定」の「・・ダメージ、連鎖値関連の処理」の「・・・ノックバックの方向」を参照。

↓右側(画面基準)からダメージを受けた場合。

↓左側(画面基準)からダメージを受けた場合。

ASのファイル:zero_action_damage.txt
 
if(zero_damage_knockback_direction==_root.zero_direction){_parent.zero_AA.gotoAndStop("zero_AA_damage_front")}	//ノックバックの方向とゼロの方向が等しい場合
else{_parent.zero_AA.gotoAndStop("zero_AA_damage_back")}
_root.velocity_zero_x=-velocity_zero_damage_knockback*zero_damage_knockback_direction	//ノックバックの速度を付加
 

 なお、ロックマン&フォルテなどにおいては、操作キャラクターの方向によって、ノックバックの方向が決定される(はず)。

・・y方向の速度

 カウントが1の場合(つまり、被ダメージ状態となった瞬間)、y方向の速度を0にする。

ASのファイル:zero_action_damage.txt
 
if(count_zero_damage_knockback_time==1){_root.velocity_zero_y=0}	//カウントが1の場合,y方向の速度を0にする
 

 なお、ロックマン&フォルテなどにおいては、カウントが最大値になるまで、y方向の速度を0としている(はず)。

・他のアクションへの移行

・・概要

 カウントが最大値の場合は、他のアクションに移行する。

ASのファイル:zero_action_damage.txt
 
if(count_zero_damage_knockback_time==count_zero_damage_knockback_time_max){	//カウントが最大値の場合}
 

・・通常状態への移行

 床・傾斜床・沈む地形との接触判定がある場合は、通常状態に移行する。

ASのファイル:zero_action_damage.txt
 
	if(_root.zero_hit_floor!=0 or _root.zero_hit_sloped_floor!=0 or _root.zero_hit_sink!=0){_root.zero_action="normal"}	//床・傾斜床・沈む地形との接触判定がある場合,通常状態に移行
 

・・ジャンプへの移行

 それ以外の場合は、ジャンプに移行する。

↓ジャンプへの移行。

ASのファイル:zero_action_damage.txt
 
	else{_root.zero_action="jump"}	//それ以外の場合,ジャンプに移行
 

最終更新:2020年12月19日 09:34