データ定義の部分で関数を呼び出すのはできないので、LoadGraph や LoadSoundMem を
呼び出すのは関数内となりますが、一応このような方法で
配列にハンドルを入れることができます
〜〜〜 データ定義と宣言
// 1ファイルの情報を格納する構造体を定義
struct DATA
{
int Type; // 0:画像 1:音
const char *FilePath; // ファイルパス
int Handle; // ハンドル
};
// 画像の場合は 0, 音の場合は 1 を指定する配列を定義
DATA Hairetsu[10] =
{
{ 0, "1.jpg" },
{ 0, "2.jpg" },
{ 0, "3.jpg" },
{ 1, "music.ogg" },
{ 1, "se.wav" },
{ 0, "4.bmp" },
{ 0, "5.png" },
{ 1, "se2.wav" },
{ 0, "title.jpg" },
{ 1, "se3.wav" },
};
〜〜〜 プログラム初期化処理
int i;
// 画像の数だけ繰り返し
for( i = 0 ; i < 10 ; i ++ )
{
// Type が 0(画像) か 1(音) かで分岐
switch( Hairetsu[ i ].Type )
{
case 0: // 画像の場合は LoadGraph で読み込み
Hairetsu[ i ].Handle = LoadGraph( Hairetsu[ i ].FilePath );
break;
case 1: // 音の場合は LoadSoundMem で読み込み
Hairetsu[ i ].Handle = LoadSoundMem( Hairetsu[ i ].FilePath );
break;
}
}