サウンド再生・履歴でボイスを再生する:Almightに触れる8

シナリオを進めるためのものは、前回までである程度できたので、あとはBGMや効果音のチュートリアルをやってみようと思います。

使用する画像や音はフリー素材を使用しています。

びたちー素材感 URL http://www.vita-chi.net/sozai1.htm

ゆんフリー者新素材集 URL http://www.yunphoto.net

Almightのチュートリアル

によると、Almightで使うことができる音声ファイルはm4aだそうです。

正直言って馴染みがあまりありません。

一部を抜粋すると

m4aへの変換は、iTunesを使えば簡単です。 編集 → 設定 → 一般 → インポート設定 を開きます インポート方法を、AACエンコーダにして、OKをクリックします 変換したいファイルを、プレイリストに入れたり、再生したりします。曲名の上で右クリックして「AACバージョンを作成」を選択します 出来たファイルは「m4a」フォルダに入れてくださいね。

となっていますが、私の場合、環境設定 → 一般 → 読み込み設定 という風になっていたので、バージョンの違いでしょうか。

手順通りにやれば確かに簡単にエンコードはできました。

さて、その変換したファイルを実際に使いたいわけですが、Almightはサウンドでもマクロを作ってくれているようです。

[play_bgm] と [play_se] でBGMと効果音の再生を行い、[stop_bgm] と [stop_se] と [play_voice] で再生を止めることができるようです。

試しに play_bgm のマクロをみてみると

// BGMを再生する
// [play_bgm file="ファイル名" (time="フェードイン時間" wait="trueかfalse" loop="trueかfalse")]
//
//   BGMをフェードインで再生したい場合は、timeにミリ秒を指定します。
//   また、その際にwaitを指定するとフェードイン完了を待つかどうか指定できます。省略すると待ちません。
//   loopにtrueかfalseを指定すると、BGMをループ再生するか指定出来ます。省略するとループします。
//   m4aの場合のみ拡張子は省略可能になります
[macro name="play_bgm"]
  [eval exp="mp.file = (mp.file.indexOf('.') === -1) ? mp.file + '.m4a' : mp.file"]
  [if exp="mp.time != undefined"]
    [fadeinbgm storage="%file" time="%time" loop="%loop"]
    [wb canskip="false" cond="%wait|false"]
  [else]
    [playbgm storage="%file" loop="%loop"]
  [endif]
[endmacro]

こうなっています。

これをみる限り、 @play_bgm 時間を指定するとフェードインで再生されて、タイムをしていしなければそのまま直ぐに再生されるようですね。

ボイスのマクロをみるととても親切な作りになっています。

// ボイスを再生する
// [play_voice file="ファイル名"]
//
//   [voice]を使ったあとは、必ず[c]でテキストを閉じてください
//   挟まれたテキストはメッセージ履歴でクリック可能になり、ボイスを再度再生可能になります
//   m4aの場合のみ拡張子は省略可能になります

[macro name="play_voice"]
  [eval exp="mp.file = (mp.file.indexOf('.') === -1) ? mp.file + '.m4a' : mp.file"]
  [hact exp="&hactVoice()"]
  [playse buf=0 storage="%file" cond="!almight.stage.skip"]
[endmacro]

音の再生はBGMと同じような感じですが、[hact exp="&hactVoice()"]という部分がとても親切設計です。

これは、メッセージ履歴で文字をクリックすることができるようになり、この場合はクリックするとボイスが再生されるというものです。

これは

// 改ページする(クリック待ち)
// [c]

[macro name="c"]
  [endhact]
  [ws canskip=true]
  [p][cm]
[endmacro]

とセットで扱うもので、[endbact]で hact を終了するところまでがメッセージ履歴でクリック可能になるわけです。

試しに書いてみます。

@show_lc file="girl01.png"
@action

@name text=キャラ1
キャラ1です[c]

@name text=キャラ1
@play_voice file="moshi_1.m4a"
「もしもし? いまどこ?」[c]

黄色くなっている部分がクリック可能な部分で、クリックするとボイスが再生されるようになります。

こういったところが実に親切設計なマクロになっていますね!

BGMとSEは、基本的に再生したいところに書いてしまえば再生されるだけですから、メッセージ履歴でボイスの再生が容易にできるのはありがたい限りです。

人気記事すべて表示

AlmightJSすべて表示