ページ 11

bgm

Posted: 2008年10月09日(木) 22:22
by situmon
シューティングの館でBGMを流したいのですがどうすればいいのでしょう。

Re:bgm

Posted: 2008年10月09日(木) 22:28
by 管理人
龍神録の館にそのコードが紹介してありますので、ご覧下さい。

Re:bgm

Posted: 2008年10月10日(金) 22:51
by situmon
龍神録のプログラムをシューティングの館のコードでやるとどうなるのでしょう。
龍神録のコードはたくさんあるのでどのコードがシューティングの館のこのコードに当てはまるのかわからないのです。

Re:bgm

Posted: 2008年10月10日(金) 23:22
by situmon
やはり何回見てもできません。
何回もで申し訳ないですがお願いします。

Re:bgm

Posted: 2008年10月11日(土) 00:59
by kazuoni
http://homepage2.nifty.com/natupaji/DxL ... .html#R8N1
本家で調べるが一番の早道かと。

Re:bgm

Posted: 2008年10月11日(土) 01:06
by array
詳しく読んでいませんが48章の事だと思います。
DXライブラリ関数なんかはシューティングの館でもそのまま使えますし、使えないコードというのも、宣言していない変数がある程度だと思います。

簡単に(かつ単純でいいなら)書くなら
DXライブラリの基本で、十分だと思います。
/* ExternGV.h */
適当な位置に追加

//音声ファイルハンドル
extern int sound_bgm[2];
extern int sound_player_shot[2];
extern int sound_enemy_shot[2];


/* img_sound_load.cpp */
void img_sound_load()内に追加


	//音楽ハンドル取得
	sound_bgm[0]	   = LoadSoundMem("音楽ファイル(BGM)");
	sound_player_shot[0] = LoadSoundMem("Sh/sound/Player/shot.ogg");
	sound_enemy_shot[0]  = LoadSoundMem("Sh/sound/enemy/normalshot.ogg");


/* main.cpp */
WINAPI WinMain()内に追加

	while(ProcessMessage() == 0 && GetHitKeyStateAll(Key) == 0){
		RefreshTime = GetNowCount();		//今の時間を取得
		ClearDrawScreen();			//裏画面のデータを全て削除

		if(CheckSoundMem(sound_bgm[0])==0)
			PlaySoundMem(sound_bgm[0],DX_PLAYTYPE_BACK);

		Background();
 
一応DXライブラリの基本的な関数を最小限で考えてみたのですが、どうでしょうか。(開始と同時に流れます。)
が追加部分。がDXライブラリ関数になっています。
関数仕様については本家に書いてあります。

Re:bgm

Posted: 2008年10月11日(土) 22:57
by situmon
ありがとうございました。
できました
arrayさんには感謝の限りです。