バッファ番号を気にせずSEを鳴らせるマクロを作ってみました。
大体次の感じで処理するんですが、もっと良いアイデアありますか?
(というか、元のマクロそのまま貼った方が良いかな?)
↓ここから
☆SE鳴らしマクロ
引数:ファイル名、ループ有無、音量等
0、変数bufに0をセット
1、bufチェック
(用意してるバッファ数越えたらreturn)
2、バッファ(buf)の使用状態を調べる。(鳴ってる時は「play」とか、状態を保持してる変数を参照)
2-a、使ってない時
引数に従ってバッファ(buf)でSE鳴らす。
辞書配列に「ファイル名:buf」を保存
return
2-b、使ってる時
buf+1
1に戻る
☆SEいろいろマクロ
引数:ファイル名
0、音鳴らしマクロで辞書配列が作られてる(はず)なので、ファイル名からbufを取得。
1、バッファ(buf)の音止めたり音量変えたり。
※辞書配列はゲーム変数にしてます。
そのうち膨らんでくるので、セーブラベルを意識してバグらないように定期的にクリアするという面倒なことをしてます。
辞書配列検索時に空振りしてもエラーにならないので、もしかしたら一時変数でも問題ないのかな?
この辺りを自分で考えるのが楽しいけど、よく分からないでやってるからエラーが出そうで怖いです。
|