ゲームウィンドウサイズ変更ツール コア部分ソース(UWSC)
setSGBWinSize( 720, 1280 ) // ゲームウィンドウを横720ピクセル、縦1280ピクセルに変更
// ↑ここまでメインルーチン
//
// スマイルゲームビルダーのゲームウィンドウサイズ変更
//
// forceClientWidth: 変更後のゲームウィンドウ幅(ピクセル)
// forceClientHeight 変更後のゲームウィンドウ高さ(ピクセル)
//
procedure setSGBWinSize( forceClientWidth, forceClientHeight )
// ゲームウィンドウのIDを取得
sgbWinID = GetId( , "kmyWGLWindowClass" )
if sgbWinID < 0 then
// ゲームウィンドウが見つからなければ終了
exitexit
endif
// クライアント領域の幅が forceClientWidth になるようウィンドウ幅を計算
sgbWin_Width = Status( sgbWinID, ST_WIDTH )
sgbWin_CLWidth = Status( sgbWinID, ST_CLWIDTH )
new_sgbWin_Width = sgbWin_Width - sgbWin_CLWidth + forceClientWidth
// クライアント領域の高さが forceClientHeight になるようウィンドウ高さを計算
sgbWin_Height = Status( sgbWinID, ST_HEIGHT )
sgbWin_CLHeight = Status( sgbWinID, ST_CLHEIGHT )
new_sgbWin_Height = sgbWin_Height - sgbWin_CLHeight + forceClientHeight
// 現在のゲームウィンドウの中心位置を計算
sgbWinCenterX = Status( sgbWinID, ST_X ) + sgbWin_Width / 2
sgbWinCenterY = Status( sgbWinID, ST_Y ) + sgbWin_Height / 2
new_sgbWin_X = sgbWinCenterX - new_sgbWin_Width / 2
new_sgbWin_Y = sgbWinCenterY - new_sgbWin_Height / 2
// 現在のゲームウィンドウの中心を維持してウィンドウサイズを変更
Acw( sgbWinID,_
new_sgbWin_X,_
new_sgbWin_Y,_
new_sgbWin_Width,_
new_sgbWin_Height )
fend
ゲームウィンドウサイズ変更ツール コア部分ソース(Autoit)
setSGBWinSize( 720, 1280 ) ;ゲームウィンドウを横720ピクセル、縦1280ピクセルに変更
; ↑ここまでメインルーチン
;
; スマイルゲームビルダーのゲームウィンドウサイズ変更
;
; forceClientWidth: 変更後のゲームウィンドウ幅(ピクセル)
; forceClientHeight 変更後のゲームウィンドウ高さ(ピクセル)
;
Func setSGBWinSize( $forceClientWidth, $forceClientHeight )
; ゲームウィンドウの位置とサイズを取得
$sgbWinParam = WinGetPos("[CLASS:kmyWGLWindowClass]", "" )
if @error = 1 then
exit
endif
; ゲームウィンドウのクライアント領域のサイズを取得
$sgbWinClientParam = WinGetClientSize("[CLASS:kmyWGLWindowClass]", "" )
; クライアント領域の幅・高さが$forceClientWidth, $forceClientHeightになるよう
; 新しいウィンドウサイズを計算
$newSgbWinWidth = $sgbWinParam[2] - $sgbWinClientParam[0] + $forceClientWidth
$newSgbWinHeight = $sgbWinParam[3] - $sgbWinClientParam[1] + $forceClientHeight
; ゲームウィンドウの中心座標を計算
$sgbWinCenter_x = $sgbWinParam[0] + $sgbWinParam[2] / 2
$sgbWinCenter_y = $sgbWinParam[1] + $sgbWinParam[3] / 2
; ウィンドウの中心座標を維持してウィンドウサイズを変更
WinMove( "[CLASS:kmyWGLWindowClass]", _
"", _
$sgbWinCenter_x - $newSgbWinWidth / 2, _
$sgbWinCenter_y - $newSgbWinHeight / 2, _
$newSgbWinWidth, _
$newSgbWinHeight )
EndFunc