ウィンドウモードとフルスクリーンモードを切り替える
検証環境
- Windows
-
- Windows 11
- Unity エディター
-
- 2021.3.3f1
- 入力システムパッケージ
-
- 1.3.0
この Tips の前提設定
この Tips の説明の前提として以下の設定を事前に行っています。
ウィンドウモードとフルスクリーンモードの切り替え方法
プログラムにおいて Screen.fullScreen
プロパティに対して true
か false
を指定するだけなので非常に簡単です。
PC 向けのゲームに対してはもちろん有効ですが、 WebGL 向けのゲームに対しても Web ブラウザがフルスクリーンモードに対応していれば全画面で表示させることもできます。
逆にスマートフォンなどのモバイル向けについては基本的に全画面であることが多いのでこの切り替えの効果は無いことがほとんどです。
ウィンドウモードとフルスクリーンモードの切り替え手順
慣れている人は Screen.fullScreen
プロパティさえ知っていればそれで終わりですが、ここではサンプルを作って試してみます。
まずは図のようにボタンをクリックしてモードを切り替えられるように UI を配置します。
ボタン処理用のスクリプトを配置します。ここでは ButtonEvent
としておきます。
スクリプトは以下のようにします。
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
public void OnClickFullScreenMode()
{
// フルスクリーンモードに切り替えます
Screen.fullScreen = true;
}
public void OnClickWindowMode()
{
// ウィンドウモードに切り替えます
Screen.fullScreen = false;
}
}
ボタンごとにメソッドを作成しています。
すでに説明しているどおり Screen.fullScreen
を true
にすればフルスクリーンモード、false
にすればウィンドウモードになります。
スクリプトは EventSystem にアタッチしておきます。
2つのそれぞれのボタンのクリックイベントにメソッドを登録しておいてください。
この処理は Unity エディターのデバッグ実行では確認することができません。 ビルド設定から PC や WebGL 向けに一度出力してから実行してみてください。
実行してモードが切り替わるかボタンをクリックして確認します。
WebGL でも正常に動作します。ちなみに WebGL のサンプルは右下にフルスクリーンボタンがあるのでそれをクリックしてもフルスクリーンモードになります。 (画像では日本語フォントを入れてないので日本語は表示されてません)