2025-05-15
【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_EDITOR | Unityエディターでの実行 |
| UNITY_EDITOR_WIN | Windows環境のUnityエディターでの実行 |
| UNITY_EDITOR_OSX | Max環境のUnityエディターでの実行 |
| UNITY_STANDALONE_WIN | Windows環境でビルドしてアプリケーションが実行されている場合 |
| UNITY_STANDALONE_OSX | Mac環境でビルドしてアプリケーションが実行されている場合 |
| UNITY_STANDALONE_LINUX | Linux環境でビルドしてアプリケーションが実行されている場合 |
| UNITY_IOS | iOS環境でビルドしてアプリケーションが実行されている場合 |
| UNITY_ANDROID | Android環境でビルドしてアプリケーションが実行されている場合 |
| UNITY_WII | Wii環境でビルドしてアプリケーションが実行されている場合 |
| UNITY_PS4 | PlayStation4環境でビルドしてアプリケーションが実行されている場合 |






投稿されたコメント一覧