今回も質問させて頂きたいです。
あまりにも初歩的な質問で恐縮なのですが……><
現在開発中のゲームで、画像表示と音楽演奏を並行で行わせたいのですが、下記のプログラムで実行すると、音楽は演奏されるが、画像は表示されなくなります。 PlaySound関数の「NORMAL」の部分を「LOOP」にすれば、画像は表示されるが、音楽が途切れてしまいます。
色々あがいてみましたが、どうしようもできません。
コードを転載させて頂きますので、是が非でも助言をお願い申し上げますm(_)m
#include "DxLib.h"
// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1 ; // エラーが起きたら直ちに終了
}
// ウインドウモードに変更
ChangeWindowMode( TRUE ) ;
// タイトルを test に変更
SetMainWindowText( "ねむれんの愉快な冒険" ) ;
char Key[256] ;
int titleGraph ;
int titleX , titleY ;
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
//↑メッセージ処理 ↑画面をクリア ↑キーボード入力状態取得 ↑ESCが押されると終了
// test.midのバックグラウンド演奏
PlaySound( "title.wav" , DX_PLAYTYPE_NORMAL ) ;
// 画面を初期化(真っ黒にする)
ClearDrawScreen() ;
// グラフィックの描画先を裏画面にセット
SetDrawScreen( DX_SCREEN_BACK ) ;
// ねむれんのグラフィックをメモリにロード&表示座標をセット
titleGraph = LoadGraph( "title.png" ) ;
titleX = 7 ; titleY = 10 ;
if( CheckHitKey(KEY_INPUT_Z) == 0 ){
DrawGraph( titleX , titleY , titleGraph , TRUE ) ;
SetFontSize( 40 ) ; //サイズを20に変更
SetFontThickness( 1 ) ; //太さを1に変更
ChangeFont( "HGS創英角ポップ体" ) ; //HGS創英角ポップ体に変更
ChangeFontType( DX_FONTTYPE_ANTIALIASING_EDGE );//アンチエイリアス&エッジ付きフォントに変更
DrawString(200,320,"ねむれんの愉快な冒険",GetColor(255,255,255));
SetFontSize( 20 ) ; //サイズを20に変更
SetFontThickness( 1 ) ; //太さを1に変更
ChangeFont( "HGS創英角ポップ体" ) ; //HGS創英角ポップ体に変更
ChangeFontType( DX_FONTTYPE_ANTIALIASING_EDGE );//アンチエイリアス&エッジ付きフォントに変更
DrawFormatString( 200, 400, GetColor(0,0,255), "Zキーでスタート!" );
DrawFormatString( 200, 420, GetColor(0,0,255), "(c) moka" );
// 裏画面の内容を表画面にコピーする
ScreenFlip() ;
}
if( CheckHitKey(KEY_INPUT_Z) == 1 ){
StopSoundFile();
// グラフィックの描画先を裏画面にセット
SetDrawScreen( DX_SCREEN_BACK ) ;
DrawFormatString( 200, 200, GetColor(0,0,255), "その夜……ねむれんは、夢を見ていた……" );
// 裏画面の内容を表画面にコピーする
ScreenFlip() ;
}
}
if(titleX==500){
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
} }