下記コードでは1920x1080のサイズでSetGraphModeを指定し
そこからSetWindowSizeでリサイズ(-300,-300)して
GetWindowSizeを取得しWindowSizeぶんのBOXを描画するものです。
ここでウィンドウサイズが1620x780になっていますが
その画面にボックスを描画します
DrawBox(0, 0, WindowSizeX,WindowSizeY, GetColor(128,128,128), true);
するとウィンドウ全体が灰色に塗りつぶされるはずですが
結果的に塗りつぶしされません。
みたところウィンドウサイズとDrawBoxのサイズが一致していないようなのですが
このような場合はどのように対処すればよいでしょうか
#include "DxLib.h"
#include <math.h>
int WindowSizeX,WindowSizeY;
// WinMain
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode( TRUE ) ;
// ライブラリの初期化
if( DxLib_Init() < 0 ) return -1 ;
SetGraphMode( 1920,1080, 32 ) ;
SetWindowSize(1920-300,1080-300);
GetWindowSize(&WindowSizeX,&WindowSizeY);
// 描画先を裏画面にする
SetDrawScreen( DX_SCREEN_BACK ) ;
// ESCキーが押されるか、ウインドウが閉じられるまでループ
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
{
// 画面をクリア
ClearDrawScreen() ;
DrawBox(0, 0, WindowSizeX,WindowSizeY, GetColor(128,128,128), true);
DrawFormatString(50,100, GetColor(255,255,255), "WindowSize X %d Y %d",WindowSizeX,WindowSizeY);
DrawFormatString(50,130, GetColor(255,255,255), "DrawBox(0,0,%d,%d)",WindowSizeX,WindowSizeY);
// 裏画面の内容を表画面に反映
ScreenFlip() ;
}
// ライブラリの後始末
DxLib_End() ;
// ソフト終了
return 0 ;
}