画像や文字の大きさをプログラム自体に書き込んで変化させる方法はわかったのですが、
実行中のウィンドウの端をカーソルで引っ張りウィンドウと描画されている文字や画像の大きさを変える方法がわかりません。
#include <DxLib.h> int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0) ? (Key[i] = 0) : Key[i]++; return 0; } class Str { const char* str; int frame; int pos; int count; public: Str(const char* str, int frame) : str(str), frame(frame), pos(0), count(0) {} void drawString(int x, int y, int color) { if (count == 0 && str[pos]) pos += 1 + IsDBCSLeadByte(str[pos]); if (++count == frame) count = 0; DrawFormatString(x, y, color, "%.*s", pos, str); } void reset() { pos = count = 0; } }; int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { SetFontSize(25); //サイズを64に変更 ??? SetFontThickness(10); //太さを8に変更 ??? ChangeFont("MS 明朝"); //種類をMS明朝に変更 ChangeFontType(DX_FONTTYPE_ANTIALIASING); //アンチエイリアスフォント SetGraphMode(780, 680, 32); // ウィンドウの大きさを指定 ChangeWindowMode(TRUE); // 全画面ではなくウインドウを使用 if (DxLib_Init() == -1) return -1; // DXライブラリ初期化処理 SetDrawScreen(DX_SCREEN_BACK); // 裏画面を使用する設定 SetWindowSizeChangeEnableFlag(FALSE, FALSE); //SetGraphMode(780, 680, 32); // 画面サイズは最大の780*680にしておく //SetWindowSize(780, 680); // 最初は 640x480 にしておく ??? int talk = 0; int Green = GetColor(0, 255, 0); int gh = LoadGraph("04.png"); Str str1("あいうえおあい\nあい", 50); // 6文字を 50フレームごとに 1文字追加 Str str2("かきくけこ", 50); // 6文字を 50フレームごとに 1文字追加 // 全部で 300フレーム(5秒) int t = 0; while (!ScreenFlip() && !ProcessMessage() && !ClearDrawScreen()) { gpUpdateKey(); if (talk == 0) { str1.drawString(100, 500, Green); } if (Key[KEY_INPUT_A] == 1) { talk = 1; } if (talk == 1) { str2.drawString(100, 500, Green); } if (++t == 60 * 9) { t = 0; str1.reset(); } // 9秒ごとにリセット LoadGraphScreen(50, 100, "04.png", TRUE); // 画像を描画する DrawExtendGraph(50, 300, 300, 600, gh, TRUE);//画像の倍率を変える } DxLib_End(); // DXライブラリ終了処理 return 0; }
"本家"↓で訊いた方が数倍マシな回答が得られるでしょう。
https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi