・概要

 操作キャラクター(ゼロ)の、その他の処理に関して解説する。

・イベント停止判定がある場合

・・概要

 イベント停止判定がある場合は、ゼロのアクションが制限される

 前提となる条件は、以下の通りとなる。

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