HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0506
tiroruサウンドにおいて8未解決


tiroru

リンク

2006/5/6(Sat) 17:35:00|NO.622

初めまして。

ゲームの戦闘シーン等でよくある
前奏パートを再生した後にメインパートをループさせ、
音とびなくスムーズにサウンドがなり、前奏パートが再生されている間にも
画像表示やアニメーション表示
といったことは可能なのでしょうか?

宜しくお願いします。



この記事に返信する


HK

リンク

2006/5/7(Sun) 09:46:41|NO.623

前奏パートのファイルとメインパートのファイルを分けて再生すれば簡単。
音とびとかは音声ファイル側で調整するしかないかと。
基本的に音楽が再生されていても他の命令は実行できます



tiroru

リンク

2006/5/7(Sun) 18:27:00|NO.627

HKさんご回答ありがとうございます。
早速サウンドファイルを二つに分割し、


mmload "BGM000",0,2 mmload "BGM001",1,1 mmplay 0 mes "test"        ;今回はmes命令とpic命令のみで picload "test.bmp",1 mmplay 1

としたみたのですが、 mmplay 0 の次の命令にすぐ移行せず音とびし、
BGM000の再生モードを0にした場合で、


mmload "BGM000",0,0 mmload "BGM001",1,1 mmplay 0 mes "test" picload "test.bmp",1 wait 500 ;前奏パートが5秒の場合 mmplay 1

としても次の命令に移行はするのですが、
アニメーションや画像の表示時間が前奏パートより
長かった場合音が消えてしまいました。

もしかしてこれが限界なのでしょうか?
それとも根本的なところを見逃しているのでしょうか?



Take

リンク

2006/5/7(Sun) 18:27:52|NO.628

ファイルの調整をしたくないのなら、
MCIで再生位置を調べて、ループ箇所になったら再生位置を変えるという方法もあります。
ただし、ある程度の動作の重さと音とびは覚悟の上で。



Take

リンク

2006/5/7(Sun) 18:37:06|NO.629

連続投稿すみません。
wait 500は純粋に5秒待つことになります。
await 5000に変えると、前回のawaitからきっかし5秒待つように調整してくれます。
下のソースをawait 5000に変えてみてはいかがでしょうか?



HK

リンク

2006/5/8(Mon) 19:12:48|NO.653

画像の非表示の為にwaitを使っていて、それが音楽の再生時間より長ければ音は消えますけど。
消えるというよりも正常に再生が終了するということ。
前奏分だけwait入れて、メインパートの後に画像非表示分のwaitを入れれば多分できる。



tiroru

リンク

2006/5/9(Tue) 17:13:49|NO.673

Takeさん HKさん
ご回答ありがとうございます。

やはり当初内容にかなり無理があったようですね。
TakeさんやHKさんのアドバイスを参考にして
やっていきたいと思います。
まだこうしたらできる、というアドバイスがあれば
宜しくお願いします。



Take

リンク

2006/5/10(Wed) 20:41:07|NO.686

MIAさんのHP(http://taillove.jp/mia/)に、切れ目なく再生できる(ただし、waveやmp3)プラグインがあります。
midiについても違ったところにDLLがあるかもしれないので、調べてみてください。



レヴィン

リンク

2006/5/11(Thu) 15:10:32|NO.691

hmm.dllであればMIDIでもループさせることができたはずです。
ちなみにhmm.dllは公式サイトのhsp機能拡張ソフトのサウンド・マルティメディアのところ
にあります。



ONION software Copyright 1997-2023(c) All rights reserved.