・概要
・イベント停止判定がある場合
・・概要
イベント停止判定がある場合は、ゼロのアクションが制限される。
前提となる条件は、以下の通りとなる。
ASのファイル:zero.txt
if(_root.event_pause==1){
︙
}
・・歩き・ダッシュ
歩き・ダッシュ(セイバーモーションの判定がない)の場合、通常状態に移行する。
ダッシュセイバー中にイベント停止となった場合は、ダッシュセイバーの終了後に通常状態に移行することになる。
↓ダッシュセイバー中にイベント停止となった場合。
ASのファイル:zero.txt
if(_root.zero_action=="walk" or (_root.zero_action=="dash" and _root.zero_saber=="none")){_root.zero_action="normal"} //歩き・ダッシュ(セイバーモーションの判定がない)の場合,通常状態に移行
・・エアダッシュ・壁ずり落ち・壁蹴り・梯子
エアダッシュ(セイバーモーションの判定がない)・壁ずり落ち・壁蹴り・梯子の場合、ジャンプに移行する。そして、通常状態に移行するまではジャンプを継続する(移動することも可能)。
また、ホバリング判定をリセットする。
↓
ジャンプ中にイベント停止となった場合。
ASのファイル:zero.txt
else if((_root.zero_action=="air_dash" and _root.zero_saber=="none") or _root.zero_action=="wall_slide" or _root.zero_action=="wall_kick" or _root.zero_action=="ladder"){_root.zero_action="jump"} //エアダッシュ(セイバーモーションの判定がない)・壁ずり落ち・壁蹴り・梯子の場合,ジャンプに移行
_root.zero_hovering=0 //ホバリング判定をリセット
・・通常状態
通常状態(セイバーモーションの判定がない)の場合は、通常状態のモーションを継続する(セイバーモーションの判定がある場合は、セイバーモーションの判定がなくなってから、通常状態のモーションを継続する)。
移動などの処理は行わない。
また、
ダッシュ残像のエフェクトを削除するために、
ダッシュ属性を解除する。
ASのファイル:zero.txt
else if(_root.event_pause==1 and _root.zero_action=="normal" and _root.zero_saber=="none"){ //イベント停止判定がある場合,通常状態(セイバーモーションの判定がない)の場合
_root.zero_dash=0 //ダッシュ属性を解除
if(_root.zero_life<_root.zero_initial_life/4){_parent.zero_AA.gotoAndStop("zero_AA_dying")} //瀕死状態の場合,専用のモーションにする
else{_parent.zero_AA.gotoAndStop("zero_AA_normal")}
}
・一時停止判定を付加するための処理、ポーズメニュー
スタートキーの入力がある場合、一時停止判定を付加する(ただし、イベント停止判定がある場合・セイバーのヒットストップの判定がある場合は不可能)。
また、ポーズメニューのMCを出現させる。
↓一時停止判定の付加。ポーズメニューのMCが出現する。
ASのファイル:zero.txt
if(keydown_new_start==1 and _root.event_pause==0 and _root.saber_hitstop==0){ //スタートキーの入力がある場合(イベント停止判定がある場合・セイバーのヒットストップの判定がある場合は不可能)
_root.start_pause=1 //一時停止判定
_root.attachMovie("pause_menu","pause_menu",_root.depth_pause_menu) //ポーズメニューのMCを出現させる
}
「
セイバーのヒットストップ中は不可能」という条件にしている理由は、「
セイバーのヒットストップ」に「一時停止判定」を用いているためである。本来は、「
セイバーのヒットストップ」に関して、停止させるための専用の変数を用意したほうが良いと思われる。
・簡易属性変更
セレクトキーの入力がある場合は、属性を変更する。この仕様は、原作にはなく、オリジナルである。
順序は、「無属性」→「雷属性」→「炎属性」→「氷属性」→「無属性」→…となる。
↓簡易属性変更。
ASのファイル:zero.txt
if(keydown_new_select==1 and _root.event_pause==0){ //セレクトキーの入力がある場合(イベント停止判定がある場合は不可能)
if(_root.zero_element=="none"){_root.zero_element="thunder"}
else if(_root.zero_element=="thunder"){_root.zero_element="fire"}
else if(_root.zero_element=="fire"){_root.zero_element="ice"}
else if(_root.zero_element=="ice"){_root.zero_element="none"}
}
・速度の制限
際限なく落下速度が上昇しないようにするため、落下速度をジャンプの初速度と同じ値に制限する。なお、この処理は、一部の敵においても行っている。
例外的に、
EX落下突き(セイバー出現後)の落下速度は、
ジャンプの初速度よりも大きな値となる。
↓落下速度の制限。
ASのファイル:zero.txt
if(_root.velocity_zero_y>_root.velocity_zero_jump){_root.velocity_zero_y=_root.velocity_zero_jump} //落下速度の制限
・サブタンク
・・概要
ゼロが全回復している場合、回復アイテムの取得などにより、サブタンクを溜めることができる。
ポーズメニューからサブタンクを使用することで、ゼロのライフを回復させることができる。
↓サブタンク。
・・loadの処理
・・・サブタンクの残量、サブタンクの最大値
「サブタンクの残量」「サブタンクの最大値」を設定する。
ASのファイル:mask.txt
_root.zero_subtank=0 //サブタンクの残量
_root.zero_subtank_max=128 //サブタンクの最大値
・・サブタンクを溜める
・・サブタンクの使用(1)
「サブタンクの残量」が「ゼロのライフ減少量」より大きい場合は、「サブタンクの残量」を「ゼロのライフ減少量」の値だけ減らし、ゼロのライフを全回復させる。
ASのファイル:pause_menu.txt
if(_root.zero_subtank>_root.zero_initial_life-_root.zero_life){ //サブタンクの残量がゼロのライフ減少量より大きい場合
_root.zero_subtank-=_root.zero_initial_life-_root.zero_life //サブタンクの残量を減らす
_root.zero_life=_root.zero_initial_life //ゼロのライフを全回復させる
}
・・サブタンクの使用(2)
「サブタンクの残量」が「ゼロのライフ減少量」以下の場合は、ゼロのライフを「サブタンクの残量」の値だけ回復させ、「サブタンクの残量」を0にする。
ASのファイル:pause_menu.txt
else{ //サブタンクの残量がゼロのライフ減少量以下の場合
_root.zero_life+=_root.zero_subtank //ゼロのライフを回復させる
_root.zero_subtank=0 //サブタンクの残量を0にする
}
最終更新:2020年12月12日 11:14