トップページ > 記事閲覧
SetChangeScreenModeGraphicsSystemResetFlagとウィンドウの関係
名前:たろう 日時: 2026/02/26 01:52

いつもすみません、たろうです ゲームの縦横サイズをゲーム中にかえますが、その際の挙動で困っています 下はそれを再現したものですが・・・ 1ボタンでウィンドウサイズを変え、2ボタン終了という仕組みです このまま実行した時と、SetChangeScreenModeGraphicsSystemResetFlag(0);をコメントアウト した上で実行したときで、ウィンドウサイズの挙動が変わってしまいます。 SetChangeScreenModeGraphicsSystemResetFlagがあるとウィンドウサイズが変更されないようです。 2枚のモニタの解像度がそれぞれ両方とも1920x1080のときにそれがおこるのですが 片方を縦表示にして1920x1080(プライマリ)と1080x1920という設定にしてためすと SetChangeScreenModeGraphicsSystemResetFlagがあってもウィンドウサイズがちゃんと変更されます。 つまり存在するモニタの縦(横)幅よりも長い縦(横)幅のサイズを指定して SetGraphMode();を行うと、SetChangeScreenModeGraphicsSystemResetFlagがあるばあいのみ ウィンドウのサイズがおかしくなるようです。 すみませんが、ご確認いただけると助かります よろしくお願いいたしますm(_ _)m (※2026/02/23 23:11の最新のバージョンを使っています) #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode( TRUE ) ; DxLib_Init(); SetDrawScreen( DX_SCREEN_BACK ); SetGraphMode(1920,1080,32); SetChangeScreenModeGraphicsSystemResetFlag(0); //画面モード変更時グラハンリセットしない int nb=0,font=CreateFontToHandle("Arial",12,9,0); int swt=0,mode=0,IM=LoadGraph("test.bmp");//1920x1080pxの画像 while( ProcessMessage() == 0 ) { ClearDrawScreen(); DrawBox(1,1,300,300,GetColor(255,0,0),1); DrawGraph(0,0,IM,1); if(CheckHitKey(KEY_INPUT_1)==1){swt=1;} if(CheckHitKey(KEY_INPUT_1)==0&&swt){swt=0;mode=(int)!mode;if(mode==0){SetGraphMode(1920,1080,32);}else{SetGraphMode(1080,1920,32);}} if(CheckHitKey(KEY_INPUT_2)==1){return 0 ;} ScreenFlip(); } DxLib_End() ; return 0 ; }
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存