・概要

 「壁蹴り」は、壁に近接・接触している場合に、壁と逆側の斜め上方向に上昇するアクションを指す。

↓壁蹴り。

・loadの処理

・・壁蹴りの初速度の算出

 算出法に関しては、ジャンプ開始の「・loadの処理」を参照。

ASのファイル:zero_load.txt
 
zero_jump_wall_kick_ymax=44	//最高点の高さ(壁蹴り)
zero_jump_wall_kick_time_top=17	//最高点に到達するまでに要する時間(壁蹴り)
︙
velocity_zero_wall_kick=zero_jump_wall_kick_ymax/zero_jump_wall_kick_time_top+1/2*_root.gravity*zero_jump_wall_kick_time_top	//壁蹴りの初速度
 

・・壁蹴りのカウント

 「・壁蹴りのカウント」を参照。

ASのファイル:zero_load.txt
 
count_zero_wall_kick=0	//壁蹴りのカウント
count_zero_wall_kick_max=7	//壁蹴りのカウントの最大値
 

・モーション

 通常状態とほぼ同様の処理を行っている。

ASのファイル:zero_action_wall_kick.txt
 
if(_root.zero_buster=="none" and _root.zero_saber=="none"){_parent.zero_AA.gotoAndStop("zero_AA_wall_kick")}	//攻撃中ではない場合
 

・壁蹴りのカウント

 壁蹴り中は、壁蹴りのカウントを増加させている
 この値は、「速度」や「他のアクションへの移行」に関する条件に用いられている。「・速度」「・他のアクションへの移行」を参照。

ASのファイル:zero_action_wall_kick.txt
 
count_zero_wall_kick++	//カウントを増加させる
 

 カウントのリセットに関しては、各種の値のリセットの「・壁蹴り関連」を参照。

・速度

・・概要

 カウントが1の場合は、速度を付加する。

ASのファイル:zero_action_wall_kick.txt
 
if(count_zero_wall_kick==1){	//カウントが1の場合}
 

 エフェクト関連は、アクションと直接的に関係がないので、解説は省略する。

・・ダッシュ属性、x方向の速度

 ダッシュキーの入力がある場合、ダッシュ属性を付加し、速度を付加するダッシュキーの入力がない場合、ダッシュ属性を解除し、速度を付加する
 ダッシュ属性がある場合の速度は「ダッシュの速度」、ダッシュ属性がない場合の速度は「歩きの速度」としている(原作準拠?)。
 ゼロの向きと逆側に速度を付加することに注意。

ASのファイル:zero_action_wall_kick.txt
 
	if(keydown_dash==1){_root.zero_dash=1;_root.velocity_zero_x=-velocity_zero_dash*_root.zero_direction}	//ダッシュキーの入力がある場合,ダッシュ属性を付加,速度を付加
	else{_root.zero_dash=0;_root.velocity_zero_x=-velocity_zero_walk*_root.zero_direction}	//ダッシュキーの入力がない場合,ダッシュ属性を解除,速度を付加
 
 ゼロの向きと逆側に速度を付加するため、「-velocity_zero_dash」のように「-」の符号を付けている

・・y方向の速度

 初速度を付加するための記述は、ジャンプ開始とほぼ同様なので、ジャンプ開始の「・速度」を参照。

ASのファイル:zero_action_wall_kick.txt
 
	_root.velocity_zero_y=-velocity_zero_wall_kick	//初速度を付加
 

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

・・ジャンプへの移行

 「カウントが最大値以上」「天井・傾斜天井との接触判定がある」「ジャンプキーの入力がない」のうち、いずれか一つでも満たされた場合、ジャンプに移行する。

ジャンプへの移行(天井との接触判定がある場合)。

ジャンプへの移行(ジャンプキーの入力がない場合)。

ASのファイル:zero_action_wall_kick.txt
 
if(count_zero_wall_kick>=count_zero_wall_kick_max or _root.zero_hit_ceiling!=0 or _root.zero_hit_sloped_ceiling!=0 or keydown_jump==0){_root.zero_action="jump"}	//カウントが最大値以上の場合,天井・傾斜天井との接触判定がある場合,ジャンプキーの入力がない場合,ジャンプに移行
 
・「count_zero_wall_kick>=count_zero_wall_kick_max」:カウントが最大値以上。
・「_root.zero_hit_ceiling!=0 or _root.zero_hit_sloped_ceiling!=0」:天井・傾斜天井との接触判定がある。
・「keydown_jump==0」:ジャンプキーの入力がない。
・「_root.zero_action="jump"」:ジャンプに移行。

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