・概要
このEX
セイバーは、発動すると、「上昇しながらの斬り上げ」を行う。
↓上昇斬り。
・loadの処理
・・速度
初速度の算出に関しては、
ジャンプ開始の「・loadの処理」を参照。
ASのファイル:zero_load.txt
zero_jump_rising_slash_normal_ymax=38 //最高点の高さ(EX上昇斬り,無属性)
zero_jump_rising_slash_normal_time_top=17 //最高点に到達するまでに要する時間(EX上昇斬り,無属性)
zero_jump_rising_slash_element_ymax=52 //最高点の高さ(EX上昇斬り,属性付加)
zero_jump_rising_slash_element_time_top=20 //最高点に到達するまでに要する時間(EX上昇斬り,属性付加)
velocity_zero_rising_slash_y_normal=zero_jump_rising_slash_normal_ymax/zero_jump_rising_slash_normal_time_top+1/2*_root.gravity*zero_jump_rising_slash_normal_time_top //EX上昇斬り(無属性)の初速度(y方向)
velocity_zero_rising_slash_y_element=zero_jump_rising_slash_element_ymax/zero_jump_rising_slash_element_time_top+1/2*_root.gravity*zero_jump_rising_slash_element_time_top //EX上昇斬り(属性付加)の初速度(y方向)
velocity_zero_ex_saber_rising_slash_x=1 //EX上昇斬りの速度(x方向)
・・コンボ判定
「・コンボ判定」を参照。
ASのファイル:zero_load.txt
zero_ex_saber_ice_rising_slash_combo="none" //コンボ判定(EX上昇斬り)
・セイバーモーション
ASのファイル:zero_action_ex_saber_rising_slash.txt
_parent.zero_AA.gotoAndStop("zero_AA_ex_saber_rising_slash");zero_saber_AA.gotoAndStop("zero_ex_saber_AA_rising_slash");zero_saber_hitrect.gotoAndStop("zero_ex_saber_hitrect_rising_slash")
・コンボ判定
・・概要
このEXセイバーは、
他のアクションから派生させることができる。その場合、
「セイバーモーションの時間のカウント」が途中からになる(=前動作の時間を省略できる)。
コンボ判定の付加に関しては、
EXセイバー発動の「・上昇斬り」の「・・
セイバー発動の条件」を参照。
・・通常状態のセイバー(三段目)から派生した場合
ASのファイル:zero_action_ex_saber_rising_slash.txt
if(zero_ex_saber_ice_rising_slash_combo=="normal_3"){ //通常状態のセイバー(三段目)から派生した場合
_parent.zero_AA.zero_AA_ex_saber_rising_slash.gotoAndStop(10);zero_saber_AA.zero_ex_saber_AA_rising_slash.gotoAndStop(10);zero_saber_hitrect.zero_saber_hitrect_synthesis.gotoAndStop(10);_root.count_zero_saber_time=9 //カウントを増加させる
zero_ex_saber_ice_rising_slash_combo="none" //コンボ判定をリセット
}
・「_parent.zero_AA.zero_AA_ex_saber_rising_slash.gotoAndStop(10)」:
「ゼロのAA」の「上昇斬り」のフレームを、特定の値まで進めておく(=それまでのフレームが省略される)。他のMCに関しても同様の処理をしている。
・「_root.count_zero_saber_time=9」:
「セイバーモーションの時間のカウント」を増加させる。なお、この後の「セイバーモーションの時間」の処理(
セイバー発動の「・セイバーモーションの時間」を参照)により、カウントが「+1」されることになり、上記の処理の値と一致することになる。
・「zero_ex_saber_ice_rising_slash_combo="none"」:コンボ判定をリセットする。
・・ダッシュから派生した場合
「・・
通常状態の
セイバー(三段目)から派生した場合」と同様の記述をしている。ただし、省略できる前動作の時間が短くなっている。
ASのファイル:zero_action_ex_saber_rising_slash.txt
else if(zero_ex_saber_ice_rising_slash_combo=="dash"){ //ダッシュから派生した場合
_parent.zero_AA.zero_AA_ex_saber_rising_slash.gotoAndStop(5);zero_saber_AA.zero_ex_saber_AA_rising_slash.gotoAndStop(5);zero_saber_hitrect.zero_saber_hitrect_synthesis.gotoAndStop(5);_root.count_zero_saber_time=4 //カウントを増加させる
zero_ex_saber_ice_rising_slash_combo="none" //コンボ判定をリセット
}
・速度など
・・概要
「セイバーモーションの時間のカウント」によって、速度が変化する。
・・前動作
カウントが特定の値未満の場合、x方向の速度を0にする。この時間(の一部)が、「・コンボ判定」における「前動作の時間」に該当する。
ASのファイル:zero_action_ex_saber_rising_slash.txt
if(_root.count_zero_saber_time<10){_root.velocity_zero_x=0} //カウントが特定の値未満の場合,x方向の速度を0にする
なお、原作においては、
氷の床との
接触判定がある場合は、x方向の速度は0にならない。
・・初速度の付加(上昇開始)
カウントが特定の値の場合、初速度を付加(上昇開始)する。氷属性が付加されている場合は、初速度が変化する。
また、x方向の速度も付加する。
ASのファイル:zero_action_ex_saber_rising_slash.txt
else if(_root.count_zero_saber_time==10){ //カウントが特定の値の場合
if(_root.zero_element_attachment_saber=="ice"){_root.velocity_zero_y=-velocity_zero_rising_slash_y_element} //氷属性が付加されている場合の初速度
else{_root.velocity_zero_y=-velocity_zero_rising_slash_y_normal} //それ以外の初速度
_root.velocity_zero_x=velocity_zero_ex_saber_rising_slash_x*_root.zero_direction //x方向の速度を付加
}
・・上昇中(1)
カウントが特定の値の場合、上昇中、かつ、上キーの入力がある場合は、カウントを減少させる(継続して上昇する)(ほぼ原作準拠)。
モーションのストップの記述に関しては、
セイバー発動の「・
セイバーモーション(非チャージセイバー)」の「・・下入れセイバー」を参照。
↓上昇斬り(上昇中、上キーの入力がある場合)。
ASのファイル:zero_action_ex_saber_rising_slash.txt
else if(_root.count_zero_saber_time==17){ //カウントが特定の値の場合
if(_root.velocity_zero_y<0 and keydown_up==1){ //上昇中,上キーの入力がある場合
_parent.zero_AA.zero_AA_ex_saber_rising_slash.gotoAndStop(17);zero_saber_AA.zero_ex_saber_AA_rising_slash.gotoAndStop(17);zero_saber_hitrect.zero_saber_hitrect_synthesis.gotoAndStop(17)
_root.count_zero_saber_time-- //カウントを減少させる
}
}
下降に移行した場合は、カウントが増加する。
・・上昇中(2)
上昇中(1)の処理の後、x方向の速度を0にする。
なお、原作とは異なり(?)、y方向の速度を0にしていない。着地までの時間に僅かに猶予を設けることで、
EX落下突きの発動のための
キー入力をしやすくすることが理由である。
ASのファイル:zero_action_ex_saber_rising_slash.txt
else if(_root.count_zero_saber_time==18){ //カウントが特定の値の場合
_root.velocity_zero_x=0 //x方向の速度を0にする
}
・・ジャンプへの移行
カウントが最大値の場合、y方向の速度を0にして、ジャンプに移行する。
ASのファイル:zero_action_ex_saber_rising_slash.txt
else if(_root.count_zero_saber_time==_root.count_zero_saber_time_max){ //カウントが最大値の場合
_root.velocity_zero_y=0 //y方向の速度を0にする
_root.zero_action="jump" //ジャンプに移行
}
・他のアクションへの移行
・・ジャンプへの移行(1)
・・ジャンプへの移行(2)
天井・傾斜天井との接触判定がある場合は、x・y方向の速度を0にして、ジャンプに移行する。
ASのファイル:zero_action_ex_saber_rising_slash.txt
if(_root.zero_hit_ceiling!=0 or _root.zero_hit_sloped_ceiling!=0){ //天井・傾斜天井との接触判定がある場合
_root.velocity_zero_x=0;_root.velocity_zero_y=0 //x・y方向の速度を0にする
_root.zero_action="jump" //ジャンプに移行
}
最終更新:2020年12月19日 08:55