・概要
「セイバー」は、ゼロの主要な近接攻撃のことを指す。
セイバーモーションの処理の基本的な流れは、以下の通りとなる。
・
「セイバー発動の条件」が満たされた場合、
「セイバーモーションの判定」に、該当するセイバーの情報が代入される。また、
「セイバーモーションの時間の最大値」が該当するセイバーの値に設定される。
・セイバーモーション開始。
・
セイバーモーション中は、「セイバーモーションの時間のカウント」が増加する。
・
「セイバーモーションの時間のカウント」が、「セイバーモーションの時間の最大値」となった場合、セイバーモーションが終了する。また、「セイバーモーションの判定」や「セイバーモーションの時間のカウント」などがリセットされる。
ここでは、チップやEX
セイバー関連の記述を、部分的に省略している。
・loadの処理
・・セイバーのMCの付加
予め、セイバーのMCを、ゼロのMCの内部に出現させておく(ただし、「セイバーモーションの判定」は「なし」のため、表示されない)。
ASのファイル:zero_load.txt
_parent.attachMovie("zero_saber","zero_saber",_root.depth_zero_saber) //セイバーのMCを出現させる
zero_saber_AA=_parent.zero_saber.zero_saber_AA //参照先を変数に保存
zero_saber_hitrect=_parent.zero_saber.zero_saber_hitrect //参照先を変数に保存
・・セイバーの先行入力
ASのファイル:zero_load.txt
count_time_buffer_keydown_new_saber //セイバーの先行入力の判定用のカウント
count_time_buffer_keydown_new_saber_allowable=4 //セイバーの先行入力のカウントの許容範囲
count_time_buffer_keydown_new_saber=count_time_buffer_keydown_new_saber_allowable+1 //セイバーの先行入力の判定用のカウント(初期値)
buffer_keydown_new_saber=0 //セイバーの先行入力の判定
・・セイバーモーションの判定
「セイバーモーションの判定」には、「"none"」(なし)、「"normal_1"」(通常状態のセイバー(一段目))、「"walk"」(歩きセイバー)などの情報が代入される。
ASのファイル:zero_load.txt
_root.zero_saber="none" //セイバーモーションの判定
・・セイバーモーションの時間
セイバーモーション中は、時間がカウントされる。また、それぞれのセイバーモーションには、時間の最大値が設定されている。
ASのファイル:zero_load.txt
_root.count_zero_saber_time=0 //セイバーモーションの時間のカウント
_root.count_zero_saber_time_max //セイバーモーションの時間の最大値(normal_1=18,normal_2=24,normal_3=32,normal_3_upper=24,walk=18,jump=19,wall_slide=18,dash=20,ladder=24,ex_rising_slash=21,ex_falling_thrust=9,ex_jump_rolling_slash=23,ex_sonic_slash=20,ex_saber_dash_thrust=20,charge=26)
・・下入れセイバー
「・
セイバーモーション(非チャージセイバー)」の「・・下入れセイバー」を参照。
ASのファイル:zero_load.txt
_root.zero_saber_jump_down=0 //下入れセイバーの判定
・セイバーモーション(全般)
セイバーモーションは、「ゼロのAA」「ゼロのセイバーのAA」「ゼロのセイバーのhitrect」という3つのMCのモーションにより構成されている。
↓歩き
セイバー。「ゼロのAA」のみを表示。
・セイバーモーション(非チャージセイバー)
・・概要
「セイバーモーションの判定」がある場合には、セイバーモーションを行う。
「
セイバーモーションの判定」の付加に関しては、「・
セイバー発動の条件」を参照。
・・歩きセイバー
ここでは、記述が簡易である、「歩き
セイバー」を例にする。
ASのファイル:zero_saber.txt
else if(_root.zero_action=="walk"){
if(_root.zero_saber=="walk"){_parent.zero_AA.gotoAndStop(["zero_AA_saber_"+_root.zero_saber]);zero_saber_AA.gotoAndStop(["zero_saber_AA_"+_root.zero_saber]);zero_saber_hitrect.gotoAndStop(["zero_saber_hitrect_"+_root.zero_saber])} //歩きセイバー
}
ここで、「gotoAndStop([])」内の「_root.zero_saber」を「"walk"」に置き換えると、上記の記述は、以下の通りとなる。
ASのファイル:なし
else if(_root.zero_action=="walk"){
if(_root.zero_saber=="walk"){_parent.zero_AA.gotoAndStop("zero_AA_saber_walk");zero_saber_AA.gotoAndStop("zero_saber_AA_walk");zero_saber_hitrect.gotoAndStop("zero_saber_hitrect_walk")} //歩きセイバー
}
・「else if(_root.zero_action=="walk")」:「ゼロのアクションの状態」が「歩き」の場合。
・「if(_root.zero_saber=="walk")」:「セイバーモーションの判定」が「歩き」の場合。
・「_parent.zero_AA.gotoAndStop("zero_AA_saber_walk")」:「ゼロのAA」を、「歩きセイバーのAA」が表示されるフレームにする。
・「zero_saber_AA.gotoAndStop("zero_saber_AA_walk")」:「ゼロのセイバーのAA」を、「歩きセイバーのAA」が表示されるフレームにする。
・「zero_saber_hitrect.gotoAndStop("zero_saber_hitrect_walk")」:「ゼロのセイバーのhitrect」を、「歩きセイバーのhitrect」が表示されるフレームにする。
通常状態(一段目、二段目…)、
ジャンプ(ジャンプセイバー)、
ダッシュ(ダッシュセイバー)などにおいても、同様の記述をしている。
・・ジャンプセイバーから壁ずり落ちセイバーへの移行
「壁ずり落ちセイバー」は、「ジャンプセイバー」から移行する場合がある(部分的に原作準拠)。そのため、「gotoAndStop(_root.count_zero_saber_time)」のように、フレームを指定する必要がある。このように指定しないと、壁ずり落ちセイバーのモーションが最初からになる。
↓ジャンプセイバーから壁ずり落ちセイバーへの移行。移行したフレームにおいて、各種の値が変化する。
記述は、以下の通りとなる。
ASのファイル:zero_saber.txt
_parent.zero_AA["zero_AA_saber_"+_root.zero_saber].gotoAndStop(_root.count_zero_saber_time);zero_saber_AA["zero_saber_AA_"+_root.zero_saber].gotoAndStop(_root.count_zero_saber_time);zero_saber_hitrect.zero_saber_hitrect_synthesis.gotoAndStop(_root.count_zero_saber_time) //フレームを指定する(ジャンプセイバーから壁ずり落ちセイバーへの移行に対応するため)
ジャンプセイバーから壁ずり落ちセイバーへの移行に関する記述は、以下の通りとなる。
ASのファイル:zero_saber.txt
else if(_root.zero_saber=="jump" and _root.count_zero_saber_time<=18){ //ジャンプセイバーから壁ずり落ちセイバーへの移行
_root.zero_saber="wall_slide"
_root.count_zero_saber_time_max=18
}
・「_root.zero_saber=="jump"」:「セイバーモーション」の判定が「ジャンプセイバー」。
・「_root.count_zero_saber_time<=18」:「セイバーモーションの時間のカウント」が、「セイバーモーションの時間の最大値(壁ずり落ちセイバー)」以下の場合。ジャンプセイバーと壁ずり落ちセイバーの「セイバーモーションの時間の最大値」が異なる(ジャンプセイバーのほうが大きい)ため、このような記述をしている。
・「_root.zero_saber="wall_slide"」:「セイバーモーション」の判定を「壁ずり落ちセイバー」にする。
・「_root.count_zero_saber_time_max=18」:「セイバーモーションの時間の最大値」を、「壁ずり落ちセイバー」の値にする。
・・下入れセイバー
↓下入れ
セイバー。各種のMCのモーションが特定のフレームでストップする。
ASのファイル:zero_saber.txt
if((keydown_down==1 and _root.count_zero_saber_time==12) or _root.zero_saber_jump_down==2){ //下キーの入力がある場合・カウントが特定の値の場合,他のセイバーから移行した場合
_parent.zero_AA["zero_AA_saber_"+_root.zero_saber].gotoAndStop(12);zero_saber_AA["zero_saber_AA_"+_root.zero_saber].gotoAndStop(12);zero_saber_hitrect.zero_saber_hitrect_synthesis.gotoAndStop(12)
_root.count_zero_saber_time-- //カウントを減少させる
_root.zero_saber_jump_down=1 //下入れセイバーの判定
}
・「keydown_down==1 and _root.count_zero_saber_time==12」:下キーの入力がある、かつ、「セイバーモーションの時間のカウント」が特定の値となっている。
・「_parent.zero_AA["zero_AA_saber_"+_root.zero_saber].gotoAndStop(12)」:「ゼロのAA」の「ジャンプセイバーのAA」のフレームを特定の値に指定する。この処理により、モーションがストップする。他のMCも同様。
・「_root.count_zero_saber_time--」:カウントを減少させる。この処理により、実質的に、カウントがストップすることになる。
・「_root.zero_saber_jump_down=1」:下入れセイバーの判定を付加する。
・セイバーモーション(チャージセイバー)
・・概要
チャージセイバーのセイバーモーションは、基本的にはキャンセルできない(ほぼ原作準拠)ので、セイバーモーションは「アクションの移行」に対応させる必要がある。
・・ジャンプ開始・壁蹴り以外
・・・概要
基本的には、「_root.zero_action」と「_root.zero_saber」が一致している場合はそのまま、一致していない場合は変更してチャージセイバーのモーションを継続する。
前提となる条件に関する記述は、以下の通りとなる。これは、ゼロが特定の「アクションの状態」であり、「セイバーのモーションの判定」が、各種のチャージセイバーとなっている場合、という条件である。
ASのファイル:zero_saber.txt
if(_root.zero_action=="normal" or _root.zero_action=="jump" or _root.zero_action=="wall_slide" or _root.zero_action=="ladder"){ //通常状態,ジャンプ,壁ずり落ち,梯子昇降
if(_root.zero_saber=="charge_normal" or _root.zero_saber=="charge_jump" or _root.zero_saber=="charge_wall_slide" or _root.zero_saber=="charge_ladder"){
︙
}
}
・・・チャージセイバーの移行
チャージセイバーの移行の例を、以下に示す。
↓チャージセイバーの移行。
ここでは、例として、「ジャンプチャージセイバー」から「通常のチャージセイバー」への移行に関して解説する。
移行に関する記述は、以下の通りとなる。
ASのファイル:zero_saber.txt
_root.zero_saber="charge_"+_root.zero_action
ここで、「_root.zero_action」を「"normal"」とすると、上記の記述は以下の通りとなる。
ASのファイル:なし
_root.zero_saber="charge_normal"
後の処理は、「・
セイバーモーション(非チャージセイバー)」の「・・歩きセイバー」とほぼ同様となる。
ASのファイル:zero_saber.txt
_parent.zero_AA.gotoAndStop(["zero_AA_charge_saber_"+_root.zero_action]);zero_saber_AA.gotoAndStop(["zero_charge_saber_AA_"+_root.zero_action]);zero_saber_hitrect.gotoAndStop(["zero_charge_saber_hitrect_"+_root.zero_action])
_parent.zero_AA["zero_AA_charge_saber_"+_root.zero_action].gotoAndStop(_root.count_zero_saber_time);zero_saber_AA["zero_charge_saber_AA_"+_root.zero_action].gotoAndStop(_root.count_zero_saber_time);zero_saber_hitrect.zero_saber_hitrect_synthesis.gotoAndStop(_root.count_zero_saber_time) //該当するチャージセイバーのフレームを指定する
フレームを指定する理由に関しては、「・
セイバーモーション(非チャージセイバー)」の「・・ジャンプセイバーから壁ずり落ちセイバーへの移行」を参照。
・・ジャンプ開始・壁蹴り
ジャンプ開始・壁蹴りの場合は、「ジャンプチャージセイバー」を行うことになる。
ASのファイル:zero_saber.txt
else if(_root.zero_action=="jump_start" or _root.zero_action=="wall_kick"){ //ジャンプ開始・壁蹴り
if(_root.zero_saber=="charge_normal" or _root.zero_saber=="charge_jump" or _root.zero_saber=="charge_wall_slide" or _root.zero_saber=="charge_ladder"){
_root.zero_saber="charge_jump"
︙
}
}
フレームを指定する理由に関しては、「・
セイバーモーション(非チャージセイバー)」の「・・ジャンプセイバーから壁ずり落ちセイバーへの移行」を参照。
・・下入れセイバー
「ジャンプチャージセイバー」からも「下入れセイバー」に移行できるように設定している(原作準拠)。
↓「ジャンプチャージセイバー」から「下入れセイバー」への移行。
ASのファイル:zero_saber.txt
else if(_root.zero_saber=="charge_jump"){ //ジャンプチャージセイバー
if(keydown_down==1 and _root.count_zero_saber_time>=19 and _root.count_zero_saber_time<=20){ //下キーの入力がある場合・カウントが特定の範囲内の場合
_root.zero_saber="jump" //ジャンプセイバーに移行
_root.count_zero_saber_time_max=19;_root.count_zero_saber_time=12
_root.count_zero_saber_time-- //カウントを減少させる
_root.zero_saber_jump_down=2 //下入れセイバーの判定(1フレーム目のみ通常の下入れセイバーと区別するために,判定に2を代入)
_root.zero_element_attachment_saber="none" //無属性にする(エレメントアタッチメントを無効化)
}
}
・「keydown_down==1 and _root.count_zero_saber_time>=19 and _root.count_zero_saber_time<=20」:下キーの入力があり、「セイバーモーションの時間のカウント」が特定の範囲内にある。
・「_root.zero_saber="jump"」:ジャンプセイバーに移行する。
・「_root.count_zero_saber_time_max=19;_root.count_zero_saber_time=12」:「セイバーモーションの時間の最大値」を、ジャンプセイバーの値にする。また、「セイバーモーションの時間のカウント」を、下入れセイバーのフレームに合わせる。
・「_root.zero_saber_jump_down=2」:下入れセイバーの判定(1フレーム目のみ通常の下入れセイバーと区別するために、判定に2を代入)。
・「_root.zero_element_attachment_saber="none"」:チャージセイバーは、エレメントアタッチメントにより、属性が付加される場合があるので、それを無効化するために、無属性にする。
上記の記述により、次のフレームからは、「・セイバーモーション(非チャージセイバー)」の「・・下入れセイバー」の処理が行われることになる。
・セイバー発動の条件
・・概要
バスター発射の「・バスター発射の条件」と重複している記述に関しては、そちらを参照。なお、
セイバーの場合は、「セミチャージ判定」は、「非チャージ判定」と同じものとして扱う。
「buffer_keydown_new_saber」に関しては、「・
セイバーの先行入力」を参照。
「
セイバー発動の前提となる条件」に関する記述は、以下の通りとなる。
ASのファイル:zero_saber.txt
if(_root.zero_action!="damage" and _root.zero_action!="bind" and _root.event_pause==0){ //被ダメージ状態・拘束状態・イベント停止判定がある場合は不可能
︙
}
・・非チャージ判定、セミチャージ判定
・・・歩きセイバー
ここでは、記述が簡易である、「歩き
セイバー」を例にする。
記述は、以下の通りとなる。
ASのファイル:zero_saber.txt
else if(_root.zero_action=="walk" and _root.zero_saber=="none"){ //歩き
_root.zero_saber="walk";_root.count_zero_saber_time_max=18;_root.count_zero_saber_time=0 //歩きセイバー
}
・「_root.zero_action=="walk" and _root.zero_saber=="none"」:「アクションの状態」が「歩き」であり、「セイバーモーションの判定」が「なし」。
・「_root.zero_saber="walk"」:「セイバーモーションの判定」を「歩きセイバー」にする。
・「_root.count_zero_saber_time_max=18」:「セイバーモーションの時間の最大値」を、「歩きセイバー」の値にする。
・「_root.count_zero_saber_time=0」:「セイバーモーションの時間のカウント」を、「0」にする。なお、この後の「・セイバーモーションの時間」の処理により、カウントは「1」となる。
この記述により、次のフレームから、「・
セイバーモーション(非チャージセイバー)」の「・・歩きセイバー」の処理が行われることになる。
他の大半の「
セイバーの発動」に関しても、同様の記述をしている。
・・・セイバーの派生
セイバーの中には、別のセイバーから派生するものがある。
ここでは、例として、「
通常状態のセイバー(一段目)」から「
通常状態の
セイバー(二段目)」への派生を解説する。
ASのファイル:zero_saber.txt
else if(_root.zero_saber=="normal_1" and _root.count_zero_saber_time>=8){_root.zero_saber="normal_2";_root.count_zero_saber_time_max=24;_root.count_zero_saber_time=0} //二段目(一段目のセイバーモーション中に派生)
・「_root.zero_saber=="normal_1" and _root.count_zero_saber_time>=8」:「セイバーモーションの判定」が「通常状態のセイバー(一段目)」であり、「セイバーモーションの時間のカウント」が特定の値以上。
・「_root.zero_saber="normal_2"」:「セイバーモーションの判定」を「通常状態(二段目)」にする。他の処理は、「・・・歩きセイバー」と同様となる。
・・フルチャージ判定
・・・概要
・・・エレメントアタッチメント
・・・通常状態のチャージセイバー
「通常状態のチャージセイバー」は、歩き・ダッシュからも発動可能だが、通常状態に移行した上で発動することになる。
ASのファイル:zero_saber.txt
if((_root.zero_action=="normal" or _root.zero_action=="walk" or _root.zero_action=="dash") and _root.zero_saber=="none"){_root.zero_action="normal";_root.zero_saber="charge_normal";_root.count_zero_saber_time_max=26;_root.count_zero_saber_time=0} //通常状態・歩き・ダッシュ(通常状態に移行してチャージセイバー)
・・・ジャンプチャージセイバー
「ジャンプチャージセイバー」は、壁蹴りからも発動可能だが、ジャンプへの移行は行わない。つまり、ジャンプチャージセイバーのモーションをしながら、壁蹴りをすることになる(原作準拠)。
↓ジャンプチャージセイバー中の
壁蹴り。
ASのファイル:zero_saber.txt
else if((_root.zero_action=="jump_start" or _root.zero_action=="jump" or _root.zero_action=="wall_kick") and _root.zero_saber=="none"){_root.zero_saber="charge_jump";_root.count_zero_saber_time_max=26;_root.count_zero_saber_time=0} //ジャンプ開始・ジャンプ・壁蹴り
「ジャンプチャージセイバー」は、エアダッシュからも発動可能だが、ジャンプに移行した上で発動することになる。
↓ジャンプチャージセイバー(
エアダッシュからジャンプへの移行)。
ASのファイル:zero_saber.txt
else if(_root.zero_action=="air_dash" and _root.zero_saber=="none"){_root.zero_action="jump";_root.zero_saber="charge_jump";_root.count_zero_saber_time_max=26;_root.count_zero_saber_time=0} //エアダッシュ(ジャンプに移行してチャージセイバー)
・セイバーの先行入力
・・概要
セイバーに関しては、先行入力を実装している。これにより、
「設定されているタイミングよりも、僅かに前のタイミング」においてセイバーキーを入力することでも、(発動可能な最速のタイミングで)セイバーが発動する。
被ダメージ状態・
拘束状態では先行入力できない。
↓「ジャンプセイバー」→着地して
通常状態に移行→「ジャンプセイバー」のキャンセル→「
通常状態のセイバー(一段目)」。
着地前にセイバーキーの入力がある(「keydown_new_saber==1」)が、「セイバーの先行入力の判定」(「buffer_keydown_new_saber=1」)があるため、「
通常状態のセイバー(一段目)」が発動する。
なお、この要素は必須ではない。
・・セイバーの先行入力の判定
セイバーキーの入力がある場合、カウントを0にして、「その後、セイバーキーの入力がない時間」をカウントする。
ASのファイル:zero_saber.txt
if(_root.zero_action!="damage" and _root.zero_action!="bind" and keydown_new_saber==1){count_time_buffer_keydown_new_saber=0} //セイバーキーの入力がある場合,カウントを0にする(被ダメージ状態・拘束状態は不可能)
else{count_time_buffer_keydown_new_saber++} //セイバーキーの入力がない場合,カウントを増加させる
カウントが許容範囲内の場合は、セイバーの先行入力の判定を付加する。許容範囲外の場合は、判定をリセットする。
ASのファイル:zero_saber.txt
if(count_time_buffer_keydown_new_saber<=count_time_buffer_keydown_new_saber_allowable){buffer_keydown_new_saber=1} //カウントが許容範囲内の場合,セイバーの先行入力の判定
else{buffer_keydown_new_saber=0}
・・セイバー発動の条件における「セイバーの先行入力の判定」
セイバー発動の条件の記述の一部は、以下の通りとなる。
ASのファイル:zero_saber.txt
if(((keydown_new_saber==1 or buffer_keydown_new_saber==1) and _root.zero_charge_saber=="none") or ((_root.zero_tip_head_auto_charge_saber==-1 and keydown_saber==0) or (_root.zero_tip_head_auto_charge_saber==1 and (keydown_new_saber==1 or buffer_keydown_new_saber==1))) and _root.zero_charge_saber=="semicharge"){ //非チャージ判定があり,セイバーキーの入力がある場合,セミチャージ判定があり,セイバーキーの入力がなくなった場合(セミチャージ判定があり,オートチャージ装着中に,セイバーキーの入力がある場合)
︙
}
・「keydown_new_saber==1 or buffer_keydown_new_saber==1」:セイバーキーの入力がある、または、「セイバーの先行入力の判定」がある。つまり、「セイバーの先行入力の判定」がある場合は、セイバーキーの入力が(現在のフレームで)ない場合でも、入力がある場合と同様の処理が行われることになる。
・・セイバーが発動した場合
「・セイバー発動の条件」の処理により、セイバーが発動した場合は、セイバーの先行入力の判定用のカウントを初期値にする。この処理により、次のフレームで「セイバーの先行入力の判定」がリセットされることになる。
ASのファイル:zero_saber.txt
if(_root.zero_saber!="none" and _root.count_zero_saber_time==0){count_time_buffer_keydown_new_saber=count_time_buffer_keydown_new_saber_allowable+1} //セイバーが発動した場合,セイバーの先行入力の判定用のカウントを初期値にする
・セイバーモーションのキャンセル
現在の「アクションの状態」では起こり得ないセイバーモーションをキャンセルする。
↓「歩き
セイバー」のキャンセル。「歩き」から「別のアクションの状態」になることでキャンセルされる。
ASのファイル:zero_saber.txt
else if(_root.zero_action=="dash" or _root.zero_action=="air_dash"){
if(_root.zero_saber!="dash" and _root.zero_saber!="ex_saber_dash_thrust"){_root.zero_saber="none"}
}
・「_root.zero_action=="dash" or _root.zero_action=="air_dash"」:ゼロのアクションの状態が「ダッシュ」「エアダッシュ」。
・「_root.zero_saber!="dash" and _root.zero_saber!="ex_saber_dash_thrust"」:セイバーモーションの判定が「ダッシュセイバー」「EXダッシュ突き」ではない。
・「_root.zero_saber="none"」:セイバーモーションの判定を「なし」にする(キャンセルする)。
他の「アクションの状態」や「
セイバーのモーションの判定」に関しても、同様の記述をしている。
なお、原作においては、キャンセルをした場合も、(
セイバー本体のモーションが終了する、または、新たに
セイバーモーションが発動されるまで)
セイバー本体は残るが、このゲームにおいては、
セイバー本体を消している。
・セイバーモーションの時間
・・セイバーモーションの判定がある場合
セイバーモーションの判定がある場合は、セイバーモーションの時間のカウントを増加させる。
カウントが最大値以上の場合は、セイバーモーションの判定をリセットする。
また、
セイバーモーションの判定がある場合は、
バスターモーションの判定を解除する。
ASのファイル:zero_saber.txt
if(_root.zero_saber!="none"){ //セイバーモーションの判定がある場合
_root.zero_buster="none";_root.count_zero_buster_time=0 //バスターモーションの判定を解除
if(_root.count_zero_saber_time>=_root.count_zero_saber_time_max){_root.zero_saber="none"} //カウントが最大値以上の場合,セイバーモーションの判定をリセット
_root.count_zero_saber_time++ //セイバーモーションの時間のカウントを増加させる
}
念の為、「カウントが最大値の場合」ではなく、「カウントが最大値”以上”の場合」としている。
・・セイバーモーションの判定がない場合
セイバーモーションの判定がない場合は、セイバーのAAやhitrectを「なし(何も表示されない状態)」にして、各種の判定をリセットする。
↓例えば、
拘束状態では、「_root.zero_saber」が「"none"」になる。その際に、各種の判定をリセットする。
ASのファイル:zero_saber.txt
if(_root.zero_saber=="none"){ //セイバーモーションの判定がない場合,各種の判定をリセット
zero_saber_AA.gotoAndStop("zero_saber_AA_none");zero_saber_hitrect.gotoAndStop("zero_saber_hitrect_none")
_root.count_zero_saber_time=0;_root.count_zero_saber_time_max=0
_root.zero_saber_jump_down=0
︙
}
・「_root.count_zero_saber_time_max=0」:不要な記述と思われるが、一応記述している。
他の処理により「_root.zero_saber」が「"none"」となった場合に、即座に各種の判定をリセットするために、この記述は、セイバー関連の処理の最後に行う必要がある。
逆に、この記述より後に「_root.zero_saber」が「"none"」となるような処理をすると、各種の判定のリセットが次のフレームになり、不具合が生じる可能性が出てくる。
・セイバーのチャージ判定
最終更新:2020年12月19日 09:31