RPGツクールと数学のブログ

RPGツクールと数学についてのブログです。

効果音付き文章の表示

過去ブログの転載です。

ドラクエみたいに、文字が出るたびにピピピピって音が鳴るようにしてみます。簡単なものとして、全角文字が表示されていくものだけ実現しますね。

文章の表示で、\S[n]のとき全角文字1字の表示に掛かる時間はn=1のとき1/60秒、n≧2のとき(n+1)/60秒となります。*1

ということで、1文字表示させるたびにそのウェイトの間隔で効果音を鳴らせば実現します。

◆文章:\>\^
◆変数の操作:[0015:文字のスピード]代入,10
◆変数の操作:[0016:文字の効果音の数]代入,15
◆文章:\S[\V[15]]あいうえおかきくけこさしすせそ
◆変数の操作:[0015:文字のスピード]代入,2
◆変数の操作:[0016:文字の効果音の数]代入,45
◆文章:\S[\V[15]]あいうえおかきくけこさしすせそ
:  :あいうえおかきくけこさしすせそ
:  :あいうえおかきくけこさしすせそ

効果音鳴らす用のマップイベント(コモンイベントの場合はスイッチ必要)(出現条件:変数「文字の効果音の数」が1以上  開始条件:定期的に並列処理する)

◆効果音の演奏:カーソル1
◆条件分岐:変数[0015:文字のスピード]が2以上
 ◆変数の操作:[0014:文字繰り返し数]代入,変数[0015]の値
 ◆繰り返し処理
  ◆ウェイト:0.0秒
  ◆変数の操作:[0014:文字繰り返し数]減算,1
  ◆条件分岐:変数[0014:文字繰り返し数]が0以下
   ◆繰り返し処理の中断
   ◆
  :分岐終了
  ◆
 :以上繰り返し
 ◆
:分岐終了
◆変数の操作:[0016:文字の効果音の数]減算,1

文章ウィンドウを開くのに1/60秒掛かるので、ここではめんどくさいのであらかじめウィンドウを表示させておく状態にするため、はじめに「\>\^」という文章表示をいれています。

変数15番「文字のスピード」にその文章の表示スピード、変数16番「文字の効果音の数」に文章中の文字数(半角文字非対応)を入れればOKです。定期的に並列処理するイベントはイベントの最後で1/60秒のウェイトが発生するので、\S[n]のときは1文字表示に(n+1)/60秒掛かることから、1/60秒ウェイトをn回入れる命令を入れてあげれば、1文字の効果音再生に(n+1)/60秒掛かることになります。\S[1]のときはウェイトを入れなければ、イベントの最後に自動ではいる1/60秒ウェイトでまかなえます。

しかし\S[1]のときは1/60秒おきに効果音が鳴ることになりますから、速すぎて変な音が鳴ってるように聞こえるので、少なくとも2/60秒おきに鳴らした方がそれっぽくなるかもしれません。どっちにせよいちいちこんなもの設定してられませんので、長編ゲームには不向きでしょう。使えるのは多分、短編ものぐらいだと思います。

*1:不思議なことです。なんでn/60秒じゃないのだ……