PlaySoundMem

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kalpis_no1

PlaySoundMem

#1

投稿記事 by kalpis_no1 » 13年前

LoadSoundMemを使い、mp3をメモリに読み込みました。

私が目指す動作は

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

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

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

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

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

できますか?

アバター
ぱにしん
記事: 58
登録日時: 14年前
住所: 滋賀

Re: PlaySoundMem

#2

投稿記事 by ぱにしん » 13年前

そうですね・・・そこまで分かっておられるなら対処の方法も幾つか思いつかれると思いますが、
CheckSoundMem関数を使えばPlaySoundMem関数で音楽が鳴っているかどうかを調べることができます。
その戻り値を使って分岐させるのが一番簡単だと思います。
DXライブラリリファレンス

kalpis_no1

Re: PlaySoundMem

#3

投稿記事 by kalpis_no1 » 13年前

成程!

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

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: PlaySoundMem

#4

投稿記事 by Dixq (管理人) » 13年前

要するに、「押した瞬間一度だけ」処理をするようにしたいんですよね?
そしてDXライブラリには、キーが押されているか否かしか取得する関数が無いので、それが出来ないと。

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

閉鎖

“C言語何でも質問掲示板” へ戻る