Game Maker Language リファレンス > 組み込み関数 用途別 > 2D グラフィック機能 > ディスプレイの設定 > display_set_gui_maximise
display_set_gui_maximise(xscale, yscale, xoffset, yoffset);
この機能はGUIレイヤを任意の倍数に伸縮します。またオフセット位置を指定し、GUIレイヤの位置を設定します。
デフォルトでは、GUIレイヤと描画サーフェイスの解像度比率は等倍(1:1)であり、サーフェイスの位置座標 0,0 を基準にして位置を合わせます。
ただし、これが常に希望するものであるとは限らないため、この関数を使用して、ディスプレイまたはゲームウィンドウの絶対(0,0)位置を基準にして描画されるように設定できます。
この関数にどの引数を指定するかは、GUIレイヤーに与える効果によって異なります。
シンプルに引数なしで関数を使用した場合、全エリアに合わせて拡大縮小され、幅と高さ、ゲーム画面の(0,0)位置を基準としたGUIレイヤーを設定します。
display_set_gui_maximise();
ただし、GUIレイヤーのスケーリング係数を設定でき、幅と高さはその量でスケーリングされます。 GUIレイヤーは常にディスプレイウィンドウ、ゲームウィンドウ、またはアプリケーションサーフェスのサイズに合わせて作成されるため、この値を1以外に設定すると、基本的に幅と高さに沿ってピクセル数がスケーリングされます。 ディスプレイが1024x768であり、スケーリング係数を0.5倍に設定した場合、GUIレイヤーはディスプレイの半分のサイズになり、ピクセルサイズが事実上2倍になります。
display_set_gui_maximise(0.5, 0.5);
この方法で値を設定すると、描画位置がディスプレイまたはゲームウィンドウの(0,0)にも設定されるため、オフセット値を指定して(0,0)位置を「移動」できます。
var pos = application_get_position(); display_set_gui_maximise(0.5, 0.5, pos[0], pos[1]);
最後に、スケーリング係数を-1に設定することにより、この関数を使用してGUIレイヤーをリセットできます。 これにより、GUIレイヤーが1:1のスケールに再度設定され、描画位置がディスプレイやウィンドウではなくアプリケーションサーフェスの(0,0)位置に設定されます。
display_set_gui_maximise(-1, -1);
display_set_gui_size(display_get_width() / 2, display_get_height() / 2; display_set_gui_maximise(2, 2, 0, 0);
上記のコードは、描画GUIイベントを指定された幅と高さにロックし、その比率を使用して、すべてのコンポーネントをディスプレイに合わせてスケーリングします。