【Unity】アプリケーションを終了させる方法
Uniyエディターで実行している時と、ビルドされたアプリをPCで実行している時の終了方法は異なります
アプリを終了したい時のコード
終了処理時に次のスクリプトを実行させます
#if UNITY_EDITOR
EditorApplication.isPlaying = false;
#elif UNITY_STANDALONE
Application.Quit();
#endif
このコードは、Unityの環境下で実行された場合に、アプリケーションの実行を終了させるためのものです。
Unity Editor内でプレビュー実行された場合には、EditorApplication.isPlayingプロパティをfalseに設定してアプリケーションの実行を停止します。
一方、実際にビルドして実行された場合には、Application.Quitメソッドを呼び出してアプリケーションの実行を終了します。
#ifディレクティブは、コンパイル時に指定されたシンボルが定義されている場合に、そのコードブロックをコンパイルすることを示します。この場合、UNITY_EDITORとUNITY_STANDALONEが指定されているため、それぞれの環境下でコンパイルされるコードが切り替わります。UNITY_EDITORはUnity Editor内でのプレビュー実行時に定義され、UNITY_STANDALONEはビルドした環境での実行時に定義されます。
using UnityEngine;
public class Exit : MonoBehaviour
{
// Escapeキーの押下でゲームを終了する
// Updateメソッドは毎フレーム呼ばれるので、Updateメソッド内でキー入力を監視する
[SerializeField]
private KeyCode exitKey = KeyCode.Escape; // ゲーム終了キー
// ゲーム終了キーを押したら、アプリケーションを終了する
private void Update()
{
if (Input.GetKeyDown(exitKey))
{
// エディタ上で実行している場合は、エディタを終了する
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#elif UNITY_STANDALONE
// スタンドアロンビルドの場合は、アプリケーションを終了する
Application.Quit();
#endif
}
}
}

ディスカッション
コメント一覧
まだ、コメントがありません