• 締切済み

ExcelVBAについて質問です。

ExcelVBAのゲームについてです。 現在ExcelVBAを使用し、横スクロールタイプのアクションゲーム(マリオみたいもの)を作成しています。 ゲーム自体は完成したのですが、無音だと何か腑に落ちないところがあり、 ゲームのBGM、ステージ選択等のコマンドボタンクリック時、敵キャラを踏みつけた時の効果音 をつけたいと考えています。 色々調べてみたところPlaySound関数を使用するみたいなのですが、よく分かりません。 音楽ファイルにそれぞれ BGM・・・・・・"A" クリック時・・・・・"B" 効果音・・・・・・"C" と名前をつけたと仮定して、どういった構文になるか教えていただけると幸いです。 質問にあたって情報が不十分かもしれませんがよろしくお願いします。

みんなの回答

  • ap_2
  • ベストアンサー率64% (70/109)
回答No.1

PlaySoundは楽ですが、複数同時に再生できません。 BGMにはDirectXを使う必要があります。PlaySoundとDirectSoundは重複するので、効果音はPlaySoundでもよいかと。↓サンプルコード http://home.att.ne.jp/zeta/gen/excel/c04p04.htm 音声ファイルの読み込み(ReadSoundBuffer)は、起動時1回やればいいです。 この記事はExcelが古いのかな、Do~Loopは不要。また、BufSndTest以外(MyWindow,DX8,DS8,BufDsc,WrkSndFile)は、グローバル変数にする必要ありません。 BGMはループしたいので  BufSndTest.Play DSBPLAY_LOOPING ゲーム終了などでのBGM停止は  BufSndTest.stop プログラミングは調べて試しての繰り返し。 ゲーム制作は「もっと~したい」で試行錯誤が増えやすいからこそ、教材に向きます。コード丸写しじゃ進歩しませんよ。 まずは、よく分からないケドやってみる。そして、動いたで満足せず、もう1歩踏み込んで理解を深めることで、知識は後からついてきます。がんばってください。 http://msdn.microsoft.com/ja-jp/library/dd148660.aspx

関連するQ&A