RPGツクールMVで足音を鳴らす方法

fs_samne
 
草原を歩いた草を踏む音がして、
砂漠なら砂の音、水上なら水音、フローリングには木の音が
鳴っていてもいいじゃない!!
 
足音なんて今時のゲームならどんなゲームにもありそうな要素ですが、
ツクールMVにはどうもそんな機能は付いていないようなので、
自分で作っちゃいました。
 

基本形

1歩移動するごとに任意のSEが鳴るようにします。
 

1.使う変数とコモンイベントを決める

まず歩数を一時的に保存する変数が必要になるので、決めておきます。
次に足音を設定するコモンイベントが必要になるので、
使うコモンイベントIDを決めておきます。
fs_1
 

2.並列処理イベントを作る

並列処理のマップイベントを作り、
イベントコマンドからスクリプトを選んで、
このスクリプトをコピペしてください。

MemoValの値を1で決めた「一時的に保存する変数」のIDに
CEventIDの値に1で決めた「足音を設定するコモンイベント」のIDに
変更してください。
fs_2
 

3.コモンイベントを書く

1で決めた足音を設定するコモンイベントの処理内容に、
イベントコマンド→SEの演奏で、
足音として演奏させたいSEを置けば完成です!
fs_3
 

地形タグ、リージョンIDで足音を変更する

地形タグまたはリージョンIDで足音を変更し、
音量、ピッチ、位相をランダムで変化させます。

4.コモンイベントを作りなおす

コモンイベントの処理内容を一旦全消去し、
新たな処理を書き加えて行きます。
  

5.足音の基準を定める

変数の操作で、
変数→単独:地形タグ等を格納する任意の変数
操作→代入
オペランド→スクリプト
  と設定します。
 
スクリプト入力欄には、
地形タグで足音を変えたい場合は
$gameMap.terrainTag(this.character(-1).x, this.character(-1).y)
リージョンIDで足音を変えたい場合は
$gameMap.regionId(this.character(-1).x, this.character(-1).y)
と入力してください。
fs_5
 

6.スクリプトを貼る

変数の操作の下にスクリプトのイベントコマンドを追加し、
以下のスクリプトをコピペします。

 

7.スクリプトを編集する

まずValueIDの値を5で設定した地形タグ等を格納する変数IDにします。
 
次にParamは足音を鳴らしたい地形タグorリージョンIDを、
SoundNameはParamの条件の時に鳴らしたい効果音の名前を、
VolumeMin・VolumeMaxはランダムで大小する音量の最小・最大値
PitchMin・PitchMaxはランダムで大小するピッチの最小・最大値
PanMin・PanMaxはランダムで左右する位相の最左・最右値
それぞれ入力します。
 
これでParamで指定した地形タグorリージョンIDに主人公が踏み込むと
指定したSEが鳴るようになります。
fs_6
 

8.スクリプトを複製する

7で編集したスクリプトをコピー&ペーストで複製し、
ValueID以外のパラメータを変更すると
別の地形タグorリージョンIDで異なるSEを鳴らすことができます。
fs_8
 

主人公の画面Xに同期して位相を変える

音量とピッチをランダムに変化させる上に、
主人公が左にいれば左から、右にいれば右から聞こえるようにします。
 

9.スクリプトを書き換える

6にあるスクリプトの代わりに、以下のスクリプトを使います。

 
また、7の状態のスクリプトの「var PanMin」の行(6行目)から最後までを
以下のスクリプトで上書きしても同じ効果が得られます。

 
これを使うことで、効果を得ることができます。
 

複数の効果音をランダムに選ぶ

複数の効果音からランダムに選出し、音量とピッチをランダムに変化させ、
位相を画面Xと同期して変化させるようにします。
 

10.スクリプトを書き換える

6にあるスクリプトの代わりに、以下のスクリプトを使います。

 
また、9の状態のスクリプトの3行目を

8行目を

で上書きしても同じ効果が得られます。
 

おまけ

画面解像度を得る

幅 : SceneManager._screenWidth
高さ: SceneManager._screenHeight

 

乱数を使う

Math.floor(Math.random()*(最大値-最小値))+最小値
 

歩数を得る

$gameParty.steps()
 

コモンイベントを呼ぶ

this.setupChild($dataCommonEvents[コモンイベントID].list, 0)
 
 
以上です。
足音機能ぐらい、デフォでついてて欲しかったなあ
あと、意外と足音に最適な音がデフォ素材に入ってない・・・
 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*