facebook twitter hatena line email

「Unity/ライフサイクル」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(OnApplicationFocusの挙動)
(シーン切り替え)
行54: 行54:
 
  OnApplicationPause
 
  OnApplicationPause
 
  OnApplicationQuit
 
  OnApplicationQuit
 +
 +
==OnApplicationQuitについて==
 +
バックグラウンド切替処理に対して、
 +
iOSでは実行されるが、Androidでは実行されない。

2021年10月3日 (日) 17:55時点における版

ライフサイクル

だいたいこんな感じ

Reset()
Awake()
OnEnable()
Start()
FixedUpdate()
Update()
OnDisable()
OnDestroy()

詳細は

公式:https://docs.unity3d.com/ja/2020.1/Manual/ExecutionOrder.html

Unity初心者講座:ライフサイクルを正しく覚える https://watablog.tech/2019/09/20/post-492/

フォア・バックの切り替え判定

void OnApplicationPause(bool status)
{
        if (status)
        {
            Debug.Log("OnApplicationPause pause");
        }
        else
        {
            Debug.Log("OnApplicationPause resume");
        }
}
  • androidとiOS両方で機能することを確認。
  • 画面遷移時には動作しない。

注意: OnApplicationPauseは、起動時、Start()、よりも早く動作します。

OnApplicationFocusの挙動

void OnApplicationFocus(bool hasFocus)
{
    Debug.Log("OnApplicationFocus " + hasFocus);
}
  • 動作タイミングはOnApplicationPauseと同じ。
  • アプリをバックグランドにするとfalse、フォアに戻すとtrueな挙動
  • 画面遷移時には動作しない。

シーン切り替え

OnDisable()
OnDestroy()

シーン切替時に、上記は実行されるが、以下は、シーン切替時には実行されず、停止、終了したときのみ実行される。

OnApplicationPause
OnApplicationQuit

OnApplicationQuitについて

バックグラウンド切替処理に対して、 iOSでは実行されるが、Androidでは実行されない。