今回RPGを頑張って作っているところですが、PlaySoundMem関数を使って、再生しようとしたところ、
PlaySoundMemを先にすると画像が表示されなく、
DrawGraphを先にすると音楽が流れません。
どうすればいいでしょうか? 何かあれば教えてくださいm(__)m
OS:WindowsXP HomeEdition
Visual C++ 2008 ExpressEdition
↓-------ソースです-------↓
#include "DxLib.h"
#include "../head/struct.h"
#include "../head/function.h"
#include "../head/define.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
int ben[16];
char Key[256];
ch_t ch;
back_t bc;
music_t ms;
bc.x = 0;
bc.y = 0;
ch.x = 320;
ch.y = 320;
ch.walking_flag = 0;
ch.muki = 3;
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1;
SetDrawScreen( DX_SCREEN_BACK ) ;
LoadDivGraph("dat/img/ben.png",16,4,4,32,32,ben);
ms.music = LoadSoundMem("dat/bgm/field_01.mp3");
bc.img = LoadGraph("dat/img/bk_ground.png");
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
if(ch.x%32==0 && ch.y%32==0){
ch.walking_flag=1;
if ( Key[ KEY_INPUT_UP ] == 1 )
ch.muki=0;
else if( Key[ KEY_INPUT_LEFT ] == 1 )
ch.muki=1;
else if( Key[ KEY_INPUT_DOWN ] == 1 )
ch.muki=2;
else if( Key[ KEY_INPUT_RIGHT] == 1 )
ch.muki=3;
else
ch.walking_flag=0;
if (ch.walking_flag == 1)
if(can_or_cannot(ch.x,ch.y,ch.muki)==1)//行き先が歩けないなら
ch.walking_flag=0; //歩かないフラグを立てる。
}
if(ch.walking_flag==1){
if (ch.muki==0) {
ch.y--;
bc.y++;
}
else if(ch.muki==1) {
ch.x--;
bc.x++;
}
else if(ch.muki==2) {
ch.y++;
bc.y--;
}
else if(ch.muki==3) {
ch.x++;
bc.x--;
}
}
ch.img = ben[(ch.x % 32 + ch.y % 32)/8 + ch.muki * 4];
PlaySoundMem(ms.music,DX_PLAYTYPE_BACK);
DrawGraph( bc.x , bc.y ,bc.img ,FALSE);
DrawGraph( GetCenterX, GetCenterY, ch.img,TRUE);
ScreenFlip();
}
DxLib_End();
return 0;
}
