CF2.5 攻撃方法の切り替え機能実装
…今日も眠いでござる……
こんにちは、仕事で順調にプライベートが削り攻撃を受けておりますモフヲです。
いやあ、労働と時は止まることを知らないもんですなぁ…
というわけで、昨日でようやく主人公の攻撃パターン切り替えイベントがようやく完成しましたよ。(;´ρ`)
今回作成のゲームでは
こんな感じで武器を取得する事で攻撃方法が増えていく。
武器を二つ以上持っていれば「S」キーで順番に使用武器を即時切り替える事が出来る、というシステムにする事にしました。
で、画像のように変数デバッグ用にカウンターをいくつも表示しながら延々とシステム構築を試みておったわけですが…
完成に約2時間かかりました
正直取得する順番は頭にあったので、このゲームの事だけ考えればすぐにでも出来るわけですが、今回は「アクションゲームの雛形を作りたい」という思いがあったので、どれだけ武器の種類が増えても、どんな順番で武器を取得しても、ちょいとメンテしてやるだけで汎用的に使えるシステムを作りたかったんですね。無知なくせに…
案の定変数管理の壁に阻まれ試行錯誤を何十回と繰り返し…
たどり着いたイベントソースがこれ。
*拳骨アイコンは武器関連の変数を一括して保管する管理用グローバルオブジェクト
変数「使用武器」の数字が直接的に攻撃パターンを切り替えるフラグになっている(変数が1なら遠距離、2なら近距離…のように)のですが、この変数だけで管理しようとするとどうしても上手くいかず。
試しに新しく変数「武器サーチ」を導入してみたところ上手いこと切り替わってくれました。
武器アイコンに触れる事で、変数「(触れた武器名)を所持している」が0→1に増加するイベントをまず組んで、次にキー操作に連動して増加する変数「武器サーチ」が対応する番号の武器を所持しているかを条件分岐で判断していく流れです。
こうする事で高速ループを使わずとも(使いこなせないだけ)所持している武器だけを選んで規定の順に武器を切り替えるイベントを組むことが出来ました。
これで理論上は武器が10種類とかに増えても対応出来るはず…やってないから分からないけれども…。
最近つくづく実感する事は、
私たち素人の考える常識はコンピューターにとっては非常識
という事です。
cf2.5が日本語表記でイベントを組んでいるので余計なんでしょうけど、いや、こうイベント文に書いてあるんだから、普通こう処理してくれるだろ!と考えていると高確率でその通りには処理してくれません。
で、解決策としてはやりたい事に1クッション、別の変数を足して組んでみると結構上手くいく事が多かった気がします。
今何かの処理で壁に当たっておられる方は一度試してみられてはいかがでしょうか?
…ああやっぱり眠い…