・概要
氷の床との接触判定がある場合は、通常状態・歩き・ダッシュなどの処理が変化する。
・loadの処理
・・加速度、減速度
加速度、減速度を設定する。
ASのファイル:zero_load.txt
acceleration_zero_ice_floor_walk_dash=0.15 //氷の床における加速度(歩き,ダッシュ)
acceleration_zero_ice_floor_dash_saber=0.135 //氷の床における加速度(ダッシュセイバー)
acceleration_zero_ice_floor_ex_saber_dash_thrust=0.14 //氷の床における加速度(EXダッシュ突き)
decelaration_zero_ice_floor=0.08 //氷の床における減速度
・氷の床との接触判定
ASのファイル:なし
onClipEvent(load){
ice_floor=1 //氷の床
}
上記の記述により、該当する
地形との接触判定がある場合は、同時に「氷の床との接触判定」が付加される。
ゼロの場合は、「スパイク・アイス」装着中は、氷の床との接触判定を取得しない。「スパイク・アイス」に関しては、
フットチップの「・スパイク・アイス」の動画を参照。
ASのファイル:landform_property.txt
if(landform.ice_floor==1 and (MC_hit_landform!="zero" or (MC_hit_landform=="zero" and _root.zero_tip_foot_spike_ice==-1))){hit_ice_floor=1} //ゼロの場合・スパイク・アイス装着中ではない場合
・氷の床との接触判定がある場合の処理
・・概要
前提となる条件は、以下の通りとなる。
ASのファイル:zero_action_normal.txt、zero_action_walk.txt、zero_action_dash.txt など
︙(氷の床との接触判定がない場合の処理)
else{ //氷の床との接触判定がある場合
︙
}
・・通常状態
・・・他のアクションへの移行
氷の床との接触判定がある場合は、以下のように挙動が変化する。
・ジャンプ開始に移行する場合、ダッシュキーの入力がある場合でも、ダッシュ属性を付加しない。
・歩きに移行する場合、位置の微調整の判定を付加しない。
ASのファイル:zero_action_normal.txt
if(keydown_new_jump==1 and _root.zero_saber=="none"){_root.zero_action="jump_start"} //ジャンプキーの入力がある場合,ジャンプ開始に移行
else if(keydown_new_dash==1 and _root.zero_saber=="none"){_root.zero_action="dash"} //ダッシュキーの入力がある場合,ダッシュに移行
else if((keydown_right==1 or keydown_left==1) and _root.zero_saber=="none"){_root.zero_action="walk"} //左右キーの入力がある場合,歩きに移行
・・・減速
通常状態を継続する場合は、「減速」の処理を行う。
速度(の絶対値)が一定の値以下の場合は、速度を0にする。
↓減速。
ASのファイル:zero_action_normal.txt
else{
if(_root.velocity_zero_x>0){_root.velocity_zero_x-=decelaration_zero_ice_floor} //速度が0ではない場合,減速
else if(_root.velocity_zero_x<0){_root.velocity_zero_x+=decelaration_zero_ice_floor}
if(Math.abs(_root.velocity_zero_x)<=decelaration_zero_ice_floor){_root.velocity_zero_x=0} //速度が一定の値以下の場合,速度を0にする
}
・・歩き
・・・他のアクションへの移行
氷の床との接触判定がある場合は、以下のように挙動が変化する。
・ジャンプ開始に移行する場合、ダッシュキーの入力がある場合でも、ダッシュ属性を付加しない。
・通常状態に移行する場合、x方向の速度を0にしない。
ASのファイル:zero_action_walk.txt
if(keydown_new_jump==1){_root.zero_action="jump_start"} //ジャンプキーの入力がある場合,ジャンプ開始に移行
else if(keydown_new_dash==1){_root.zero_action="dash"} //ダッシュキーの入力がある場合,ダッシュに移行
︙
else{_root.zero_action="normal"} //通常状態に移行
・・・加速
歩きを継続する場合は、「加速」の処理を行う。
↓加速。
ASのファイル:zero_action_walk.txt
else if(keydown_right==1){_root.velocity_zero_x+=acceleration_zero_ice_floor_walk_dash;_root.zero_direction=1} //右キーの入力がある場合,加速度を付加,右向きに変更
else if(keydown_left==1){_root.velocity_zero_x-=acceleration_zero_ice_floor_walk_dash;_root.zero_direction=-1} //左キーの入力がある場合,加速度を付加,左向きに変更
・・・速度の制限
「歩きの速度」以上にならないように、速度を制限する。
ASのファイル:zero_action_walk.txt
if(_root.velocity_zero_x>=velocity_zero_walk){_root.velocity_zero_x=velocity_zero_walk} //速度の制限
else if(_root.velocity_zero_x<=-velocity_zero_walk){_root.velocity_zero_x=-velocity_zero_walk}
・・ジャンプ開始
・・ダッシュ
・・・ダッシュ属性
ゼロの速度の絶対値が、ダッシュの速度と等しくなった場合、ダッシュ属性を付加する(原作準拠?)。それ以外の場合は、ダッシュ属性を解除する。
↓ダッシュ属性。
ASのファイル:zero_action_dash.txt
if(Math.abs(_root.velocity_zero_x)==velocity_zero_dash){_root.zero_dash=1} //ゼロの速度の絶対値がダッシュの速度と等しくなった場合,ダッシュ属性を付加する
else{_root.zero_dash=0}
・・・加速
ダッシュを継続する場合は、「加速」の処理を行う。
セイバーモーションの有無やセイバーモーションの種類によって、加速度が異なる。
↓加速。
ASのファイル:zero_action_dash.txt
if(_root.zero_saber=="none"){_root.velocity_zero_x+=acceleration_zero_ice_floor_walk_dash*_root.zero_direction} //セイバーモーション中ではない場合の加速度の付加
else if(_root.zero_saber=="dash"){_root.velocity_zero_x+=acceleration_zero_ice_floor_dash_saber*_root.zero_direction} //セイバーモーション中(ダッシュセイバー)の加速度の付加
else if(_root.zero_saber=="ex_saber_dash_thrust"){_root.velocity_zero_x+=acceleration_zero_ice_floor_ex_saber_dash_thrust*_root.zero_direction} //セイバーモーション中(EXダッシュ突き)の加速度の付加
・速度の制限
各種地形・敵の影響の「・各種地形・敵の影響(1)」の箇所において、速度の制限に関する処理を行う。
「ダッシュの速度」以上にならないように、速度を制限する。
ASのファイル:zero_effect_landform_enemy_1.txt
if(_root.zero_hit_ice_floor!=0){
if(_root.velocity_zero_x>velocity_zero_dash){_root.velocity_zero_x=velocity_zero_dash} //速度の制限
else if(_root.velocity_zero_x<-velocity_zero_dash){_root.velocity_zero_x=-velocity_zero_dash}
}
最終更新:2020年12月12日 11:25