今現在DXライブラリでゲームを作っているのですが、例えば効果音をロードする時
int hSE = LoadSoundMem("push.wav");
.
.
.
.
.
などと一つずつ記述すると、後からデータが追加されたらまたコンパイルしなくては
いけません。これは余り宜しい事ではないと思います。なのでテキストファイルに
効果音名を書き、それを読み込む事でロードすれば良いと考えたのですが、それが
出来ません。何故か読み込みエラーになります。以下はそのプログラムの重要な部分を
簡略化したもの。修正願います。
//file_list.txt///////////////////////////////////////////////////////////////// "push.wav" //main.cpp////////////////////////////////////////////////////////////////////// #include "DxLib.h" #include<stdio.h> int hSE; //効果音ロード------------------------------------------------------------------------------------ void LoadSe(void) { FILE *fp = fopen("file_list.txt", "r"); char file_name[256]; fgets(file_name, 255, fp); hSE = LoadSoundMem(file_name); //ここがおかしいようです fclose(fp); } //ゲームメイン関数-------------------------------------------------------------------------------- void GameMain(void) { LoadSe(); while(!ProcessMessage() && !CheckHitKey(KEY_INPUT_ESCAPE)) //ESCで終了 { PlaySoundMem(hSE, DX_PLAYTYPE_BACK); //再生されない。読み込みエラー } } //メイン関数------------------------------------------------------------------------------------- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ChangeWindowMode(TRUE); //ウインドウモード if(DxLib_Init() == -1) //DXライブラリ初期化処理 { return -1; //エラーが起きたら直ちに終了 } GameMain(); //ゲームメイン関数 DxLib_End() ; //DXライブラリ使用の終了処理 return 0 ; //ソフトの終了 }