リンク先のコードを龍神録の60章のmain.cpp組み込んでみたのですがウィンドウが表示されません
エラー等はなくタスクマネージャーには表示されていました
何がいけなかったのでしょうか
コード:
#define GLOBAL_INSTANCE
#include "../include/GV.h"
//ループで必ず行う3大処理
int ProcessLoop(){
if(ProcessMessage()!=0)return -1;//プロセス処理がエラーなら-1を返す
if(ClearDrawScreen()!=0)return -1;//画面クリア処理がエラーなら-1を返す
GetHitKeyStateAll_2();//現在のキー入力処理を行う
GetHitPadStateAll(); //現在のパッド入力処理を行う
return 0;
}
#define SCREEN_W (640) //ゲーム自体の画面の横幅
#define SCREEN_H (480) //ゲーム自体の画面の縦幅
// 表示タイプ
int hyouji_type;
// 整数倍表示の時のレターボックスの大きさ
int letterboxsize_x;
int letterboxsize_y;
// アスペクト比保持の時のレターボックスの大きさ
int letterboxsize_n_x;
int letterboxsize_n_y;
// ディスプレイ解像度
int disp_x;
int disp_y;
// 描画スクリーン
int main_screen;
//エンターキーを押したフレームカウント
int enter;
void letter_box(){
// ディスプレイ解像度取得
disp_x = GetSystemMetrics(SM_CXSCREEN);
disp_y = GetSystemMetrics(SM_CYSCREEN);
if( disp_x / (float)SCREEN_W >= disp_y / (float)SCREEN_H ){// 描画画面の比率より横に長いか同じ場合
letterboxsize_y = ( disp_y % SCREEN_H ) / 2;
letterboxsize_x = ( disp_x - ( disp_y / SCREEN_H ) * SCREEN_W ) / 2;
letterboxsize_n_y = 0;
letterboxsize_n_x = ( disp_x - ( disp_y * SCREEN_W / SCREEN_H ) ) / 2;
}
else{// 描画画面の比率より縦に長い場合
letterboxsize_x = ( disp_x % SCREEN_W ) / 2;
letterboxsize_y = ( disp_y - ( disp_x / SCREEN_W ) * SCREEN_H ) / 2;
letterboxsize_n_x = 0;
letterboxsize_n_y = ( disp_y - ( disp_x * SCREEN_H / SCREEN_W ) ) / 2;
}
}
void screen_hyouji(){
switch(hyouji_type){
case 0:{//オリジナル
SetDrawScreen( DX_SCREEN_BACK );
ClearDrawScreen();
DrawRotaGraph( disp_x / 2, disp_y / 2, 1.0f, 0.0f, main_screen , FALSE , FALSE ) ;
SetDrawScreen( main_screen );
break;
}
case 1:{//整数倍
SetDrawScreen( DX_SCREEN_BACK );
ClearDrawScreen();
DrawExtendGraph(letterboxsize_x,letterboxsize_y,disp_x - letterboxsize_x,disp_y - letterboxsize_y,main_screen, FALSE );
SetDrawScreen( main_screen );
break;
}
case 2:{//アスペクト比保持
SetDrawScreen( DX_SCREEN_BACK );
ClearDrawScreen();
DrawExtendGraph(letterboxsize_n_x,letterboxsize_n_y,disp_x - letterboxsize_n_x,disp_y - letterboxsize_n_y,main_screen, FALSE );
SetDrawScreen( main_screen );
break;
}
case 3:{//フル
SetDrawScreen( DX_SCREEN_BACK );
ClearDrawScreen();
DrawExtendGraph(0,0,disp_x,disp_y,main_screen, FALSE );
SetDrawScreen( main_screen );
break;
}
}
}
int Enter_Check(){
if(CheckHitKey( KEY_INPUT_RETURN ))
enter++;
else
enter = 0;
return enter;
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
letter_box();
SetGraphMode( disp_x , disp_y , 32 );
main_screen = MakeScreen( SCREEN_W, SCREEN_H );// 描画用のスクリーン作成
SetDrawScreen( main_screen );// 描画するスクリーンを変更
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化
while(ProcessLoop()==0){//メインループ
if( Enter_Check() == 1 ){// エンターキーを押した時のみ
hyouji_type++;
if( hyouji_type > 3 )
hyouji_type = 0;
}
music_ini();
switch(func_state){
case 0://初回のみ入る処理
load(); //データロード
first_ini();//初回の初期化
func_state=99;
break;
case 99://STGを始める前に行う初期化
ini();
load_story();
func_state=100;
break;
case 100://通常処理
enter_func_tm("最初");
calc_ch(); enter_func_tm("キャラ計算");
ch_move(); enter_func_tm("キャラ移動");
cshot_main(); enter_func_tm("自機ショットメイン");
enemy_main(); enter_func_tm("敵処理メイン");
boss_shot_main();enter_func_tm("ボスショットメイン");
shot_main(); enter_func_tm("ショットメイン");
out_main(); enter_func_tm("当たり判定");
effect_main(); enter_func_tm("エフェクトメイン");
calc_main(); enter_func_tm("計算メイン");
graph_main(); enter_func_tm("描画メイン");
bgm_main(); enter_func_tm("BGMメイン");
if(boss.flag==0)
stage_count++;
break;
default:
printfDx("不明なfunc_state\n");
break;
}
music_play(); enter_func_tm("音楽再生");
fps_wait(); enter_func_tm("待機した時間",1);
if(CheckStateKey(KEY_INPUT_ESCAPE)==1)break;//エスケープが入力されたらブレイク
screen_hyouji();
ScreenFlip();//裏画面反映
count++;
}
DxLib_End();//DXライブラリ終了処理
return 0;
}