今現在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 ; //ソフトの終了
}