Suouさんどうも、DXライブラリの管理人です。
すいません、SetWindowSizeExtendRate 関数はウインドウモードでのみ
有効な関数でした。
フルスクリーンでも拡大された画像を描画する場合は、描画可能な320x240の
画像を作成して、裏画面の代わりにその画像に必要な描画処理を行った後、
裏画面に DrawExtendGraph 関数を使用して 0,0〜640,480 の範囲に拡大描画
するという手法を使います。
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int x, add, tempScreen;
// ウインドウモードで起動
ChangeWindowMode( TRUE );
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1;
// 描画可能な仮画面を作成
SetDrawValidGraphCreateFlag( TRUE );
tempScreen = MakeGraph( 320, 240 );
SetDrawValidGraphCreateFlag( FALSE );
// メインループ(何かキーが押されたらループを抜ける)
x = 0;
add = 8;
while( ProcessMessage() == 0 && CheckHitKeyAll() == 0 )
{
// 移動
x += add;
if( x < 0 || x > 320 ) add = -add;
// 画面のクリア
SetDrawScreen( tempScreen );
ClearDrawScreen();
// 円の描画
DrawCircle( x, 64, 32, GetColor(255,255,255), FALSE );
// 仮画面の内容を裏画面に描画して、さらに裏画面の内容を表画面に反映
SetDrawScreen( DX_SCREEN_BACK );
DrawExtendGraph( 0, 0, 640, 480, tempScreen, FALSE );
ScreenFlip();
}
// DXライブラリの後始末
DxLib_End();
// ソフトの終了
return 0;
}
ただ、描画可能な画像は正常に処理されないグラフィックスチップも
存在するので、動作可能な環境は減ると思います。(オプションでON/OFF
出来るようにしておくと良いかも)