BGMのフェードイン・フェードアウト
 NScripterでBGMを個別にフェードイン・フェードアウトさせる(吉里吉里でいうfadeinbgmタグ、fadeoutbgmタグ)のは命令が用意されてないから無理なのかなーって思っていたんですが、bgmfadein命令とbgmfadeout命令を使えばできるんですね。設定系の命令なんで、定義節専用だと思い込んでましたよ。
 てことで、こんな命令作りました。

*playfadein
getparam $0,%0
bgmfadein %0
bgm $0
bgmfadein 0
return


*stopfadeout
getparam %0
bgmfadeout %0
stop
bgmfadeout 0
return

 playfadeinでは再生するファイル名とフェードインする時間を、stopfadeoutではフェードアウトする時間のみを受け取り、指定した時間だけフェードさせながら再生・停止してくれます。ここでは再生・停止後、フェードの設定を0にしていますが、基本的に1000ミリ秒フェードさせたいけど場所によってはこれらの命令でフェードを500にして再生・停止させたいな、などという場合はちょっと手を入れる必要があります。
 まず定義節でbgmfadein命令、bgmfadeout命令をそれぞれ使用し、指定した時間をグローバル変数に確保します。あとはplayfadein・stopfadeout内部で設定を一時変更して再生・停止したあと、フェードの設定に先ほどのグローバル変数を指定すればオッケーです。
[PR]
by lyricist_m | 2007-06-11 17:30 | NScripter
<< setwindowラッパーテスト2 吉里吉里を触ってみた >>