ページ 11

PlaySoundMem

Posted: 2012年5月01日(火) 00:39
by kalpis_no1
LoadSoundMemを使い、mp3をメモリに読み込みました。

私が目指す動作は

[メインループで、ENTERを押すと、音楽が流れ、もう一度、ENTERを音楽が消える。]

なんですが、うまく作れません。

原因は、メインループでENTERを押されフラグが立ち,play_music関数(PlaySoundMemがあるだけ)に入って

PlaySoundMemが実行され続けていることだと思うのですが・・・

どのような処理を行えば、play_music関数でいちどだけ、PlaySoundMemを実行させるように

できますか?

Re: PlaySoundMem

Posted: 2012年5月01日(火) 00:55
by ぱにしん
そうですね・・・そこまで分かっておられるなら対処の方法も幾つか思いつかれると思いますが、
CheckSoundMem関数を使えばPlaySoundMem関数で音楽が鳴っているかどうかを調べることができます。
その戻り値を使って分岐させるのが一番簡単だと思います。
DXライブラリリファレンス

Re: PlaySoundMem

Posted: 2012年5月01日(火) 01:42
by kalpis_no1
成程!

初心者も初心者なので、一つでも道筋を示してもらえるのはありがたいです。
ちょっと頑張ってみます。

Re: PlaySoundMem

Posted: 2012年5月02日(水) 22:57
by Dixq (管理人)
要するに、「押した瞬間一度だけ」処理をするようにしたいんですよね?
そしてDXライブラリには、キーが押されているか否かしか取得する関数が無いので、それが出来ないと。

それはイベントドリブンではないプログラムでよくある悩みなので、うちでは以下のような解決策を提案しています。
http://dixq.net/g/02_09.html
参考までに。