アプリケーションの終了を取り消します。これはゲーム終了時にスプラッシュスクリーンを表示するのに便利です。
この関数はプレイヤーでのみ動作するのでWebPlayerやEditor上では動作しません。 重要: この関数はiOS上では効果はありません。アプリケーションはiOS下では終了のキャンセルを行うことは出来ません。
// Delays quitting for 2 seconds and // loads the finalsplash level during that time. var showSplashTimeout : float = 2.0; private var allowQuitting : boolean = false; function Awake () { // This game object needs to survive multiple levels DontDestroyOnLoad (this); } function OnApplicationQuit () { // If we haven't already load up the final splash screen level if (Application.loadedLevelName.ToLower() != "finalsplash") StartCoroutine("DelayedQuit"); // Don't allow the user to exit until we got permission in if (!allowQuitting) Application.CancelQuit(); } function DelayedQuit () { Application.LoadLevel("finalsplash"); // Wait for showSplashTimeout yield WaitForSeconds(showSplashTimeout); // then quit for real allowQuitting = true; Application.Quit(); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public float showSplashTimeout = 2.0F; private bool allowQuitting = false; void Awake() { DontDestroyOnLoad(); } void OnApplicationQuit() { if (Application.loadedLevelName.ToLower() != "finalsplash") StartCoroutine("DelayedQuit"); if (!allowQuitting) Application.CancelQuit(); } IEnumerator DelayedQuit() { Application.LoadLevel("finalsplash"); yield return new WaitForSeconds(showSplashTimeout); allowQuitting = true; Application.Quit(); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public showSplashTimeout as float = 2.0F private allowQuitting as bool = false def Awake() as void: DontDestroyOnLoad(self) def OnApplicationQuit() as void: if Application.loadedLevelName.ToLower() != 'finalsplash': StartCoroutine('DelayedQuit') if not allowQuitting: Application.CancelQuit() def DelayedQuit() as IEnumerator: Application.LoadLevel('finalsplash') yield WaitForSeconds(showSplashTimeout) allowQuitting = true Application.Quit()