・概要
「被ダメージ状態」とは、敵などとの接触により、ダメージを受け、ノックバックしている状態のことを指す。
↓被ダメージ状態。
・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