返信ありがとうございます
えぇ〜っと今度はすべて再生しようとした
すべてのMP3の曲が
「ERROR」
になりました ;;
ん〜〜こうなりゃ自分のソースを掲載します
(なんか自分のやり方が間違ってきた気がする
^^;)
ソース内容:
画像データ・音声データをメモリに転送した後
「音声再生しながら画像を上下左右スクロール
(表示制限あり)をする、
あと画面左上に座標の表示」
終了条件
・ESC・リターンキーで終了
・曲が終わるまで
この二つのどちらか
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
char *MUSIC_FileName[]={"/*パス*/”};
char *GRAPH_FileName[]={"/*パス*/”};
int MYGraphBOX[11]; //画像データメモリ保管用
int MYMusicBOX[11]; //音楽データメモリ保管用
int x = 0, y = 0,a,i,
StringCr;
char StrBuf[ 128 ], StrBuf2[ 32 ];
SetGraphMode( 800,600, 16 ) ;
ChangeWindowMode( TRUE ) ;
SetMainWindowText( "test" ) ;
SetWindowSizeChangeEnableFlag( TRUE ) ;
// DXライブラリ初期化処理
if( DxLib_Init() == -1 ) return -1;
for(a=0;a</*任意の枚数*/10;a++){
MYGraphBOX[a]= LoadGraph( GRAPH_FileName[a] );//画像データをメモリ保管する
}
//音声データをメモリ保管する
MYMusicBOX[1]=LoadSoundMem(MUSIC_FileName[1]) ;
PlaySoundMem(MYMusicBOX[1],DX_PLAYTYPE_BACK);
// 描画先画面を裏画面にする
SetDrawScreen( DX_SCREEN_BACK ) ;
//曲が終了するまでループ
while( CheckSoundMem(MYMusicBOX[1] ) == 1 )
{
lstrcpy( StrBuf , "座標 X" ); // 文字列"座標 X"をStrBufにコピー
itoa( x , StrBuf2 , 10 ); // Xの値を文字列にしてStrBuf2に格納
lstrcat( StrBuf , StrBuf2 ); // StrBufの内容にStrBuf2の内容を付け足す
lstrcat( StrBuf , "座標 Y " );// StrBufの内容に文字列" Y "を付け足す
itoa( y , StrBuf2 , 10 ) ; // Yの値を文字列にしてStrBuf2に格納
lstrcat( StrBuf , StrBuf2 ) ; // StrBufの内容にStrBuf2の内容を付け足す
// 上下左右のキー入力に対応して x, y の座標値を変更する
if( CheckHitKey( KEY_INPUT_LEFT ) == 1 ) x-=10;
if( CheckHitKey( KEY_INPUT_RIGHT )== 1 ) x+=10;
if( CheckHitKey( KEY_INPUT_UP ) == 1 ) y-=10;
if( CheckHitKey( KEY_INPUT_DOWN ) == 1 ) y+=10;
StringCr = GetColor( 25 , 125 , 125 ) ;//文字・文字列のカラーリング
// 画面に描かれているものをすべて消す
ClearDrawScreen() ;
//メモリに入っている画像データを表示
DrawGraph( x,y,MYGraphBOX[0] , FALSE ) ;
DrawGraph( 1024*1+x,y,MYGraphBOX[1] , FALSE ) ;
DrawGraph( 1024*2+x,y,MYGraphBOX[2] , FALSE ) ;
DrawGraph( 1024*3+x,y,MYGraphBOX[3] , FALSE ) ;
DrawGraph( 1024*4+x,y,MYGraphBOX[4] , FALSE ) ;
DrawGraph( 1024*5+x,y,MYGraphBOX[5] , FALSE ) ;
DrawGraph( 1024*6+x,y,MYGraphBOX[6] , FALSE ) ;
DrawGraph( 1024*7+x,y,MYGraphBOX[7] , FALSE ) ;
DrawGraph( 1024*8+x,y,MYGraphBOX[8] , FALSE ) ;
// 座標文字列を描く
DrawString( 0 , 0 , StrBuf , StringCr ) ;
// 裏画面の内容を表画面に反映させる
ScreenFlip() ;
// 待たないと処理が早すぎるのでここで20ミリ秒待つ
WaitTimer( 0 ) ;
// Windows システムからくる情報を処理する
if( ProcessMessage() == -1 ) break ;
// ESCキー・リターンキーが押されたらループから抜ける
if( CheckHitKey(KEY_INPUT_RETURN) == 1 ||
CheckHitKey(KEY_INPUT_ESCAPE) == 1 ) break ;
}
// DXライブラリ使用の終了処理
DxLib_End() ;
// ソフトの終了
return 0 ;
}
>犀肥さん・管理人さん