足音を鳴らしたい!足音コモンを導入するぞ【ウディタ】

2021/10/03

ウディタ ゲーム制作

 主人公が歩くたびに(移動すると)音が鳴るコモンイベントを、どう作ったかをメモしていきます。

 コモンを作る際に【土日でゲーム様を参考にさせて頂きました!足音コモン以外にも足跡演出にも触れられていてとても勉強になるサイト様です。

実際に組んでみたコモン

実際に組んだ足音コモンの内容
足音コモンの中身

 このコモンは主人公が移動したかを監視して、移動していたら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が鳴るようになる足音コモンが完成です!

 このコモンイベントをさらに発展させていくと、マップチップ(タイル)ごとにSEを変更したり、SEを鳴らすのでなく足跡を表示させたりとかできるようです。

(追記:2022/03/27)

 自分が作ってみたこの足音コモンでは、主人公が画面に現れた瞬間も一歩とカウントしてしまうため、ゲームを起動したすぐ(主人公が出現した直後)に足音が鳴ってしまいました。

 足音を鳴らしたくない場所で足音のSEが鳴らないようにするため、この足音コモンに処理を付け足しました↓

 最後まで読んでいただき、ありがとうございました。



profile


MNEET
ゲーム制作を亀並みですがやってます
MNEET(@ごみ)の自創作置き場です
ゲーム制作以外にも自創作関係を投稿していこうと思っています
幅広に創作活動をしていきたい気持ち
よろしくお願いします👐

ゲーム制作や創作以外。日常系という名の自我👇
生活LOG+

MNEETのTwitter👇
垢名【ごみ】  Twitter

作ったゲーム

初完走!第一作目 徘徊者の館
第二作目 ぼく

カテゴリー

このブログを検索

QooQ