・概要

 「ジャンプ」は、空中にいる状態(=着地していない状態)のことを指す。

↓ジャンプ。

・loadの処理

・・重力加速度

 ジャンプ開始の「・loadの処理」の「・・重力加速度の算出」を参照。

・・速度

 「・速度、方向」を参照。

ASのファイル:zero_load.txt
 
velocity_zero_walk_normal=2	//歩きの速度(通常)
︙
velocity_zero_dash=3.6	//ダッシュの速度
 

・重力加速度の付加

 ゼロには重力加速度を付加している。この処理により、下方向に加速することになる。
 水との接触判定がある場合は、を参照。

ASのファイル:zero.txt
 
		if(_root.zero_hit_water==0){_root.velocity_zero_y+=_root.gravity}	//重力加速度を付加(水との接触判定がない場合)
 
・「_root.velocity_zero_y+=_root.gravity」:y方向の速度に、重力加速度の値を加算する。

・モーション

 通常状態とほぼ同様の処理を行っている。
 「上昇中」と「下降中」でモーションが異なる。

ASのファイル:zero_action_jump.txt
 
if(_root.zero_buster=="none" and _root.zero_saber=="none"){	//攻撃中ではない場合
	if(_root.velocity_zero_y<0){_parent.zero_AA.gotoAndStop("zero_AA_jump_up")}	//上昇中
	else{_parent.zero_AA.gotoAndStop("zero_AA_jump_down")}	//下降中
}
 
・「if(_root.velocity_zero_y<0)」:上昇中の場合。
・「else」:それ以外(=下降中)の場合。

・上昇中における下降への移行

 上昇中にジャンプキーの入力がなくなった場合は、y方向の速度を0にする。この処理により、いわゆる「小ジャンプ」が可能になる。
 バネに関しては、バネを参照。

↓上昇中における下降への移行。

ASのファイル:zero_action_jump.txt
 
if(keydown_jump==0 and _root.velocity_zero_y<0 and zero_spring_jump==0){_root.velocity_zero_y=0}	//上昇中にジャンプキーの入力がなくなった場合,y方向の速度を0にする(バネによるジャンプ判定がない場合)
 
・「keydown_jump==0」:ジャンプキーの入力がない。
・「_root.velocity_zero_y<0」:上昇中。
・「_root.velocity_zero_y=0」:y方向の速度を0にする(=下降に移行する)。

・速度、方向

・・概要

 ジャンプ中のx方向の速度は、「ダッシュ属性がない場合」と「ダッシュ属性がある場合」の2種類あり、それぞれ「歩きの速度」と「ダッシュの速度」の値を用いている(原作準拠)。
 歩きの「・他のアクションへの移行」の「・・歩きの継続、速度の付加、方向の変更」とほぼ同様の記述なので、詳細な解説は省略する。

↓x方向の速度の付加。

・・ダッシュ属性がない場合


ASのファイル:zero_action_jump.txt
 
if(_root.zero_dash==0){	//ダッシュ属性がない場合
	if(keydown_right==1){_root.velocity_zero_x=velocity_zero_walk;_root.zero_direction=1}	//右キーの入力がある場合,速度を付加,右向きに変更
	else if(keydown_left==1){_root.velocity_zero_x=-velocity_zero_walk;_root.zero_direction=-1}	//左キーの入力がある場合,速度を付加,左向きに変更
	else{_root.velocity_zero_x=0}	//x方向の速度を0にする
}
 

・・ダッシュ属性がある場合


ASのファイル:zero_action_jump.txt
 
else{	//ダッシュ属性がある場合
	if(keydown_right==1){_root.velocity_zero_x=velocity_zero_dash;_root.zero_direction=1}	//右キーの入力がある場合,速度を付加,右向きに変更
	else if(keydown_left==1){_root.velocity_zero_x=-velocity_zero_dash;_root.zero_direction=-1}	//左キーの入力がある場合,速度を付加,左向きに変更
	else{_root.velocity_zero_x=0}	//x方向の速度を0にする
}
 

・沈む地形から脱出した場合

 沈む地形を参照。

・スプラッシュジャンプ、ホバリング、ダブルジャンプ、エアダッシュ

 フットチップにおけるそれぞれの項目を参照。

 記述の通り、判定の優先順位は、「スプラッシュジャンプ>ホバリング>ホバリングの解除>ダブルジャンプ>エアダッシュ」となる。

・他のアクションへの移行

・・壁ずり落ちへの移行

 ここでは、「氷の壁との接触判定がない場合」「風との接触判定がない場合」の解説をしている。
 「氷の壁との接触判定がある場合」「風との接触判定がある場合」に関しては、それぞれ、氷の壁風、コンベアを参照

 下降中、壁との接触判定があり、壁に向かう方向の左右キーの入力がある場合、壁ずり落ちに移行する。

↓壁ずり落ちへの移行。

ASのファイル:zero_action_jump.txt
 
		if(_root.velocity_zero_y>=0 and ((_root.zero_hit_wall_right!=0 and keydown_right==1) or (_root.zero_hit_wall_left!=0 and keydown_left==1))){_root.zero_action="wall_slide"}	//下降中,壁との接触判定があり,左右キーの入力がある場合,壁ずり落ちに移行
 
 壁(右)の場合は、以下の通りとなる。
・「_root.velocity_zero_y>=0」:下降中。
・「_root.zero_hit_wall_right!=0」:壁(右)との接触判定がある。
・「keydown_right==1」:右キーの入力がある。
・「_root.zero_action="wall_slide"」:壁ずり落ちに移行する。

・・壁蹴りへの移行

 ここでは、「氷の壁との接触判定がない場合」の解説をしている。
 「氷の壁との接触判定がある場合」に関しては、氷の壁を参照

 「壁蹴りを可能にする判定」があり、ジャンプキーの入力がある場合、壁蹴りに移行する。
 「壁蹴りを可能にする判定」に関しては、の「・壁蹴りを可能にする判定」を参照。このようにすることで、壁と多少離れている場合においても、壁蹴りに移行できるようにしている(原作準拠)。

↓壁蹴りへの移行。

ASのファイル:zero_action_jump.txt
 
	if(zero_wall_kick_enable!=0 and keydown_new_jump==1){	//壁蹴りを可能にする判定があり,ジャンプキーの入力がある場合
		_root.zero_direction=zero_wall_kick_enable	//ゼロの方向を修正
		_root.zero_action="wall_kick"	//壁蹴りに移行
	}
 
・「_root.zero_direction=zero_wall_kick_enable」:ゼロの方向を修正する。これは、同時に左右キーの入力があった場合、逆向きに壁蹴りすることを回避するための処理となる。

 なお、「壁ずり落ちへの移行」と「壁蹴りへの移行」に関しては、「壁蹴りへの移行」が優先されるようにしたほうが良い。そうしないと、ジャンプキーの入力をしても壁蹴りに移行できないフレームが生じることになる。
 ここにおいても、「壁蹴りへの移行」に関して「壁ずり落ちへの移行」の後に記述することで、「壁蹴りへの移行」が優先されるようにしている。

・・床・傾斜床などとの接触判定がある場合

・・・概要

 ジャンプ中に、床・傾斜床などとの接触判定がある場合には、「通常状態」または「歩き」に移行する。
 沈む地形に関しては沈む地形を参照。

ASのファイル:zero_action_jump.txt
 
if(_root.zero_hit_floor!=0 or _root.zero_hit_sloped_floor!=0 or (_root.zero_hit_sink!=0 and _root.velocity_zero_y>0)){	//床・傾斜床・沈む地形(下降中)との接触判定がある場合}
 

・・・通常状態への移行(1)

 「ジャンプチャージセイバー」のモーション中の場合は、通常状態に移行する。
 同時に、「ジャンプチャージセイバー」から「通常状態のチャージセイバー」に移行させている(原作準拠)。詳細は、セイバー発動の「・セイバーモーション(チャージセイバー)」の「・・ジャンプ開始・壁蹴り以外」の「・・・チャージセイバーの移行」を参照。

↓通常状態への移行(1)。

ASのファイル:zero_action_jump.txt
 
	if(_root.zero_saber=="charge_jump"){_root.zero_action="normal"}	//ジャンプチャージセイバーの場合,通常状態に移行
 

・・・歩きへの移行

 左右キーの入力がある場合は、歩きに移行する。

↓歩きへの移行。

ASのファイル:zero_action_jump.txt
 
	else if(keydown_right==1 or keydown_left==1){_root.zero_action="walk"}	//左右キーの入力がある場合,歩きに移行
 

・・・通常状態への移行(2)

 上記の条件が満たされない場合は、通常状態に移行する。

ASのファイル:zero_action_jump.txt
 
	else{_root.zero_action="normal"}	//通常状態に移行
 

最終更新:2020年12月12日 11:41