主人公が歩くたびに(移動すると)音が鳴るコモンイベントを、どう作ったかをメモしていきます。
コモンを作る際に【土日でゲーム】様を参考にさせて頂きました!足音コモン以外にも足跡演出にも触れられていてとても勉強になるサイト様です。
実際に組んでみたコモン
![]() |
足音コモンの中身 |
このコモンは主人公が移動したかを監視して、移動していたらSEを鳴らして、移動がなかったらSEは鳴らさないようにしておくという内容です。
常に主人公の移動を監視していなければならないので起動条件は並列実行(常時)にしています。
順にどのような処理をいれているのか見ていくとこんな感じになります。
①移動したか確かめる
一番最初の「Cself19移動した? yes1」は移動があったかどうかを判別するためのもので、上のスクショ内でSE再生フラグ(フラグ)と呼んでいます。移動があったら1を代入し、移動がなかったら0を代入します。
「Cself10 X主人公居る(新)」「Cself11 Y主人公居る(新)」は移動した先の主人公のX座標Y座標を取得しています。また、注意点としてキャラクターの移動幅が0.5マス設定のときは精密にし1マス設定のときは標準にしておきます(SEが少しずれて再生されるため音が二重になったりすることがある)
次に、突然条件分岐の中に出てくる「Cself13 X主人公居る(旧)」「Cself14 Y主人公居る(旧)」は工程④で移動する前の(元居た場所の)主人公のX座標Y座標を取得しています。
この新XYと旧XYを比べることで移動前と移動後が同じかそうでないかを調べ移動したかどうかを確かめています。
②マップ間の移動を調べる
「現在のマップID」と「Cself12 MAP ID 主人公居る(新)」では、現在のマップIDと主人公の居るマップのIDを比べています。
なぜ比べるのかというと、マップを移動した直後にSEを鳴らしてしまうことを防止するためです。ここの記述がない場合、移動したあと主人公がマップ上に表示された瞬間にSEが鳴ってしまいます。
③SEを鳴らす
Cself19が=1のとき主人公が移動したことになるのでSEを鳴らします。SEを鳴らした後にウェイトを入れているのは、主人公が歩いた時のSEの鳴る間隔をここで調節しているからです。ウェイトを入れなくても良い方法があるとは思いますが、私には難しかったです…。
④主人公のX座標とY座標を更新する
今いる場所(主人公の新XY座標)を旧XY座標に代入し主人公の位置情報を更新しています。この作業が一番最後になるのは、コモンイベントなどプログラムは上から順に実行されていくので最後に更新作業をはさむ方がいいからです。
これで主人公が移動したときにSEが鳴るようになる足音コモンが完成です!
(追記:2022/03/27)
自分が作ってみたこの足音コモンでは、主人公が画面に現れた瞬間も一歩とカウントしてしまうため、ゲームを起動したすぐ(主人公が出現した直後)に足音が鳴ってしまいました。
最後まで読んでいただき、ありがとうございました。