MUGEN記述/アラド戦記のクールタイム記述一例
「アラド戦記」キャラクターのMUGEN化にあたって原作システム再現でかかせないのが
クールタイムというシステムですが、参考資料として2パターンほどまとめておきます。
あくまで一例なので、方法はこれ以外にも存在することを先に。
~ ~ ~
●アラド戦記のクールタイムシステム
簡単にいうと特定の技を使用した際、一定時間が経過するまでその技を使えないシステムです。
これにより同じ技を連発することができません。必要経過時間は技によって異なる場合がほとんどです。
(竸瑤鰺僂い憧浜?垢襯織ぅ
クールタイムの管理に変数を活用するタイプです。
管理方法も種類がありますが、最もシンプルだと思うやつを。
・技を使用したら変数に値(クールタイム時間分)を入れる
・変数に値が入ったら0になるまで減少させ続ける(0になるまではクールタイム適用)
使用例
[State ****, 必殺技Aのクールタイムスタート]; 必殺技Aのステートに記述
type = VarSet
trigger1 = Time = 0
var(A) = 300 ;←実際のクールタイム時間。1秒=60(この場合は5秒)
[State -2, 必殺技Aのクールタイム管理]; -2ステートに記述
type = VarAdd
trigger1 = var(A) > 0
var(A) = -1
あとはcmdファイルで定義している技の発生条件にvar(A)=0を加えれば完成。
アイコンを表示する場合はExplodを、消去する場合はRemoveExplodを使うのが妥当でしょう。
その際アニメの表示時間(removetime)は-1にするのがいいと思われます。
理由は暗転などの時間停止が発生した場合、変数の値とアイコン画像の表示時間にずれが
生じる可能性があるからです(アイコンは消えたのにまだクール中とかその逆が起こりえる)。
Explodを用いて管理するタイプ
こちらはExplodの表示時間をクールタイム時間として活用するタイプです。
・技を使用したら予め用意した画像(Explod)を表示する(表示している間はクールタイム適用)
使用例
[State ****, 必殺技Aのクールタイムスタート]; 必殺技Aのステートに記述
type = Explod
trigger1 = Time = 0 && !NumExplod(****) ;←下で定義するID番号
Anim = **** ;←該当アイコンのAir番号
ID = **** ;←任意のID番号
(省略)
あとはcmdファイルで定義している技の発生条件に!NumExplod(****)を加えれば機能します。
こちらはAirファイルで設定した表示時間がそのままクールタイムとして利用されるので、
表示時間(removetime)は省略するか-2に設定します。
RemoveExplodを使う必要性は薄いですが、
KO後に画面に残っていてほしくない場合などはこれを使って消去しましょう。
またsupermovetimeやpausemovetimeを設定すれば時間停止中でもクールタイムが進みます。
~ ~ ~
私としては△諒?,鬚勧めします。
見た目(アイコンの表示)とクールタイム管理に狂いが生じない上、
変数を1つも使わずにシステム記述が作成できるので,鉾罎戮栃竸瑤龍?にかなりの余裕ができます。
クールタイムを調整する場合もAirファイル1つを弄れば済みますしね。
ただクールタイムアイコンの数が増えるほど画面に表示するのに工夫が必要になる
(無計画に作成すると画面が見難くなる)ので、そのへんは製作者の腕の見せ所ですね。
クールタイムというシステムですが、参考資料として2パターンほどまとめておきます。
あくまで一例なので、方法はこれ以外にも存在することを先に。
~ ~ ~
●アラド戦記のクールタイムシステム
簡単にいうと特定の技を使用した際、一定時間が経過するまでその技を使えないシステムです。
これにより同じ技を連発することができません。必要経過時間は技によって異なる場合がほとんどです。
(竸瑤鰺僂い憧浜?垢襯織ぅ
クールタイムの管理に変数を活用するタイプです。
管理方法も種類がありますが、最もシンプルだと思うやつを。
・技を使用したら変数に値(クールタイム時間分)を入れる
・変数に値が入ったら0になるまで減少させ続ける(0になるまではクールタイム適用)
使用例
[State ****, 必殺技Aのクールタイムスタート]; 必殺技Aのステートに記述
type = VarSet
trigger1 = Time = 0
var(A) = 300 ;←実際のクールタイム時間。1秒=60(この場合は5秒)
[State -2, 必殺技Aのクールタイム管理]; -2ステートに記述
type = VarAdd
trigger1 = var(A) > 0
var(A) = -1
あとはcmdファイルで定義している技の発生条件にvar(A)=0を加えれば完成。
アイコンを表示する場合はExplodを、消去する場合はRemoveExplodを使うのが妥当でしょう。
その際アニメの表示時間(removetime)は-1にするのがいいと思われます。
理由は暗転などの時間停止が発生した場合、変数の値とアイコン画像の表示時間にずれが
生じる可能性があるからです(アイコンは消えたのにまだクール中とかその逆が起こりえる)。
Explodを用いて管理するタイプ
こちらはExplodの表示時間をクールタイム時間として活用するタイプです。
・技を使用したら予め用意した画像(Explod)を表示する(表示している間はクールタイム適用)
使用例
[State ****, 必殺技Aのクールタイムスタート]; 必殺技Aのステートに記述
type = Explod
trigger1 = Time = 0 && !NumExplod(****) ;←下で定義するID番号
Anim = **** ;←該当アイコンのAir番号
ID = **** ;←任意のID番号
(省略)
あとはcmdファイルで定義している技の発生条件に!NumExplod(****)を加えれば機能します。
こちらはAirファイルで設定した表示時間がそのままクールタイムとして利用されるので、
表示時間(removetime)は省略するか-2に設定します。
RemoveExplodを使う必要性は薄いですが、
KO後に画面に残っていてほしくない場合などはこれを使って消去しましょう。
またsupermovetimeやpausemovetimeを設定すれば時間停止中でもクールタイムが進みます。
~ ~ ~
私としては△諒?,鬚勧めします。
見た目(アイコンの表示)とクールタイム管理に狂いが生じない上、
変数を1つも使わずにシステム記述が作成できるので,鉾罎戮栃竸瑤龍?にかなりの余裕ができます。
クールタイムを調整する場合もAirファイル1つを弄れば済みますしね。
ただクールタイムアイコンの数が増えるほど画面に表示するのに工夫が必要になる
(無計画に作成すると画面が見難くなる)ので、そのへんは製作者の腕の見せ所ですね。