リファレンス-再生- | ナノ
アクセス制限機能充実
夢小説のDLove

-使用方法-


本ソフトのフォルダ内部へ、
"AutoPlay"というフォルダ(右クリック→新規作成→フォルダ)を作成します。
※("AutoPlay"フォルダは解凍直後に存在しているので、
誤って紛失された場合は上記の手順で再作成する事が出来ます。)

作成したフォルダを開いて頂き、
今度は、テキストファイル(右クリック→新規作成→テキストドキュメント)を作成します。
作成されたテキストファイルの名前は、
"AP"から始まるファイルの名前にします。
"AP"以降に使用できる文字は、半角英数字限定となります。

ファイルネームの正しい例>
AP001.txt APtest.txt等

ファイルネームの誤った例>
AP001.txt APテスト.txt



-再生プログラミング-


テキストの冒頭に必ず、
FolderName:xxxx
を書いて下さい。
"xxxx"は音声データが入ったMDフォルダ内部の自分の管理しているフォルダの名前になります。
その下から英数字のファイル名のデータをフルネームで書いていきます。

例>

FolderName:VC0001 # データの入ったフォルダの名前(半角英数字)
VoiceData001.wav:100:100 # 以下音声データの名前(半角英数字)
VoiceData002.wav:100:100
VoiceData001.mp3:100:100
BGMData001.mid:100:100 # 音源データの名前(半角英数字)



記入を終えたらGame.exeをクリックしMDを開始。
Auto Playを選択すると自動的に演奏が始まります。
※(テキストファイルが複数ある場合は、
選択一覧から読み込むファイルを選択します。)

VoiceData001.wavの先にある":100:100"は左の100がボリューム、右がピッチの値になります。
ファイル名+:100:100という風に書かないと、
ファイルを読み込まないだけでなく、時にはエラーになってしまいます。
注意しておきましょう。

-音量関係の補足-


音量は最大100まで
ピッチは50〜150までになります。

-コードを使用する-


上記の作成方法では、
VoiceData001〜を一括で再生してしまいます。
ここで、一つのボイスの再生中は以下を実行するまでの間に合間が必要になってきます。
そこで、下部のようにやりましょう。

例>

FolderName:VC0001
VoiceData001.wav:100:100
wait:4.5 # ウェイトコード
VoiceData002.wav:100:100
wait:4.5
VoiceData001.mp3:100:100
wait:4.5
BGMData001.mid:100:100



"wait"コードを利用すると、
指定した数値分次の処理へ移行するまで待ってくれます。

1秒 = 1.0
2秒 = 2.0
2.5秒 = 2.5
4秒 = 4.0
※秒数指定には必ず小数点数(1.0)で記述すること。
これを誤るとコードを読み込まずにウェイト処理を飛ばしてしまいますので
注意しましょう。

-1秒未満の小数点数の式を割り当てたい場合-


原則本体の処理能力の都合上、秒/40の小数点が理想的です。
1÷40=0.25など。
もちろん、0.01や0.001まではカウント対象となります。
細かい細部のウェイト処理を設けたい際は小数点でその秒数を調整しましょう。

-BGMを操作する(フェードアウト)-


BGMを演奏する時、
音量をフェードアウトする方法はこうなります。

例01>

FolderName:VC0001
BGMData001.mid:100:100
wait:0.375
BGMData001.mid:85:100
wait:0.375
BGMData001.mid:70:100
wait:0.375
BGMData001.mid:45:100



このようにフェードアウトをさせることが出来ますが、
"FBS、FBDC、FBE"コードを利用した例をあげます。

例02>

FolderName:VC0001
BGMData001.mid:100:100
FBS1000 # フェードアウトスタートコード
FBDC1 # フェードアウト中の音量減少値
FBE # フェードアウトエンドコード



これは、BGMの音量を10倍にした値がFBSの値になります。
※(値の指定は自由です。
ですが内部調整上、完全なフェードアウトが行われる前に、BGMが停止する場合があるので、
値は調整必須)

"FBDC"とは、フェードアウトさせる音量の減少値になります。
これは、0.1などの記入も可能です。0.25など。
初期値は0.1になっています。

そして、これらFBSやFBDCを差しただけでは何もしません。キープを意味しています。
では、実際にフェードアウトさせる時には、FBEを書き込みます。
これでキープしているフェードアウトを実行します。
このフェードアウトはBGMのみ対応しています。

-BGMを操作する(フェードイン)-


BGMを演奏する時、
音量をフェードインする方法はこうなります。

例01>

FolderName:VC0001
BGMData001.mid:45:100
wait:0.375
BGMData001.mid:75:100
wait:0.375
BGMData001.mid:85:100
wait:0.375
BGMData001.mid:100:100



このようにフェードインをさせることが出来ますが、
"FIS、FIUC、FIE"コードを利用した例をあげます。

例02>

FolderName:VC0001
BGMData001.mid:0:100
FIS1000 # フェードインスタートコード
FIUC1 # フェードイン中の音量増加値
FIE # フェードインエンドコード



これは、BGMの音量を10倍にした値がFISの値になります。
※(値の指定は自由です。
ですが内部調整上、完全なフェードインが行われる前に、BGM音量が最大値になる場合があるので、
値は調整必須)

"FIUC"とは"FBDC"の逆でフェードインさせる音量の増加値になります。
これは、0.1などの記入も可能です。0.25など。
初期値は0.1になっています。

そして、これらはフェードアウト同様でキープを意味しています。
では、実際にフェードインさせる時には、FIEを書き込みます。
これでキープしているフェードインを実行します。
このフェードインもフェードアウト同様でBGMのみ対応しています。

-フェードイン、アウトの取り扱い-


フェードインを実行中にフェードアウトを実行しても、
効果を得る事はできません。
逆も同じです。
音量増減値を上手く調整し、
フェードイン、アウトの値を決めていくと、
スムーズなイン、アウトを実現可能になります。
"bgvol"というコードを利用すると、
現在のボリューム値を表示できます。

例>

FolderName:VC0001
BGMData001.mid:0:100
FIS1000
FIUC1
FIE
wait:3.75
bgvol



このように記述する事で、
Standbyの部分にBGMの音量を表示します。
フェード関係でBGMの音量調整(音量デバッグ)に使用します。

-BGMと音声の強制停止-


コード"BS、VS"を書いた場所で強制的に停止させることが出来ます。

-clearコード-


設定値を初期化したい。
動作の状況がわからなくなった時には、
"clear"コードを利用します。

例>

FolderName:VC0001
clear # 以下の実行文を読み込む前に設定値を初期化
BGMData001.mid:0:100
FIS1000
FIUC1
FIE
wait:3.75



内部変数

@fbe = false # フェードアウト実行中フラグ
@fie = false # フェードイン実行中フラグ
@loop_start = false # ループ実行中フラグ
@loop_flag = false # ループ候補演奏破棄フラグ
@loop_wait = 0 # ループウェイトカウント数
@loop_count = 0 # ループカウント数
@loop_index = 0 # ループインデックス
@loop_str = [] # ループ音量調整数とカウント数を纏めた配列
@loop_data = "" # ループを行う音源データ名
@wait_count = 0 # ウェイトカウント数
@fade_count = 0 # フェードアウトカウント数
@fade_count2 = 0 # フェードインカウント数
@fade_back_count = 0.1 # BGM音量減少値
@fade_in_count = 0.1 # BGM音量増加値
@bgm_volume = @old_bgm_vol # BGM音量をテキスト文の値へ初期化


を初期化します。
※@bgm_volume = @old_bgm_volは、最後に読み込んだBGMの値になります。
読み込んでいない場合は100に設定されます。

-ループコード-


一つの音声データや効果音を指定回数ループしたい。
そんな時は"LOPC、LOPS、LOPE"を使用します。
このコードを利用すると、
コードを読み込んでいる最中は操作が不能になるので注意しましょう。
また、読み込み中は、
Standbyは中断不可と表示され、ExeCutionはLoop.exeと表示されます。

例>

FolderName:VC0001
LOPC3 # ループしたい回数
LOPS # ループ処理を開始、真下のデータを指定回数分ループ
SE01.ogg:100:100:15:100:80:10:100:70:5 # ループするデータ
LOPE # ループの実行



このループコードを利用すると、
データの名前の次にあるボリュームとピッチが増えて羅列になっているのがわかります。
これは最初と二つ目は変わりありませんが、15.10.5という数字は、
ループ中のウェイトです。
1回のループ後にどれほど待つかを決めます。
そして、このコードを利用する場合は、回数分の[ボリューム、ピッチ、ウェイト(:100:100:15)]を書いていきます。
この記述を誤るとループから抜け出せないバグか、エラーが起きる可能性があります。
使用の際は十分に注意をする必要があります。
また、ループを扱えるのは、
LOPS真下のデータのみになります。
この段階ではBGMのキープと同じでLOPEを読み込んだ時点でループを開始します。
タイミング等は自由です。

-エラーに注意-


作成したテキストファイルに何も記述しない状態で読み込むと、
必ず内部的なスクリプトエラーが発生します。
注意しましょう。

TOPへ
アクセス制限機能充実
夢小説のDLove
- ナノ -