【Unity】ゲーム終了の処理

Unity関連の記事のメイン画像

Unityでゲームを終了させる処理

C#スクリプト


#if UNITY_EDITOR
        UnityEditor.EditorApplication.isPlaying = false;//Unityエディターでのゲーム終了
#else
        Application.Quit();//本番環境のゲーム終了
#endif

Application.Quit()は実行中のアプリケーションを終了させる処理。しかし、Application.Quit()はエディターでは無視されるので、エディター上での再生は終了しない。

UnityEditor.EditorApplication.isPlayingがエディター上での再生状態を管理している。UnityEditor.EditorApplication.isPlayingをtrueにすればエディター上でゲームが再生され、falseにすればゲームの再生が停止する。

本番環境とエディター環境の両方に対応させるために、プラットフォーム依存コンパイルで#if UNITY_EDITORのように条件分岐させて状況に合わせた処理をする。

プラットフォームの定義

#defineディレクティブ対象
UNITY_EDITORUnityエディターでの実行
UNITY_EDITOR_WINWindows環境のUnityエディターでの実行
UNITY_EDITOR_OSXMax環境のUnityエディターでの実行
UNITY_STANDALONE_WINWindows環境でビルドしてアプリケーションが実行されている場合
UNITY_STANDALONE_OSXMac環境でビルドしてアプリケーションが実行されている場合
UNITY_STANDALONE_LINUXLinux環境でビルドしてアプリケーションが実行されている場合
UNITY_IOSiOS環境でビルドしてアプリケーションが実行されている場合
UNITY_ANDROIDAndroid環境でビルドしてアプリケーションが実行されている場合
UNITY_WIIWii環境でビルドしてアプリケーションが実行されている場合
UNITY_PS4PlayStation4環境でビルドしてアプリケーションが実行されている場合

投稿されたコメント一覧

コメント投稿フォーム

必須項目
任意項目

ウェブサービス一覧