OnApplicationPauseおよびOnApplicationFocus



Onapplicationpause Onapplicationfocus



http://www.unity.5helpyou.com/2982.html

このunity3dチュートリアルでは、Unityでの2つの開発ヒントOnApplicationPauseとOnApplicationFocusについて学習します。モバイルゲームでは、画面のロック、通話への応答、テキストメッセージなどの「強制一時停止」が発生します。 「強制一時停止」時間が長すぎる場合、オンラインゲームは再ログインやその他のイベントが必要になることがあります。



Unity3d、AndroidプラグインのUnityPlayer.UnitySendMessageは、一時停止を強制するようにテストされています。OnPauseのUnitySendMessage、OnStopサイクルは無効です。

OnApplicationPauseとOnApplicationFocusに焦点を当てる



OnApplicationPause、プログラムが一時停止されたとき

OnApplicationFocus、プログラムがフォーカスを取得または失ったとき

テスト済み:



強制的に一時停止する場合は、最初にOnApplicationPause、次にOnApplicationFocus

電話を「起動」するときは、最初にOnApplicationFocus、次にOnApplicationPauseを実行します。

考え:

1、2つのブール値を定義します

isPause=false isFocus=false In OnEnable() Initialization: void OnEnable(){ isPause=false isFocus=false } void OnApplicationPause(){ #if UNITY_IPHONE || UNITY_ANDROID Debug.Log('OnApplicationPause '+isPause+' '+isFocus) if(!isPause) { // When the timeout is forced, the event pauseTime() } else { isFocus=true } isPause=true #endif } void OnApplicationFocus(){ #if UNITY_IPHONE || UNITY_ANDROID Debug.Log('OnApplicationFocus '+isPause+' '+isFocus) if(isFocus) { // Event when 'starting' the phone resumeList() isPause=false isFocus=false } if(isPause) { isFocus=true } #endif }

さて、このunity3dチュートリアルはここで終了します。次の章でまた会いましょう!

/ / In the ANDROID cut back to the desktop in order to trigger //08-22 14:20:54.530: I/Unity(12185): OnApplicationPause True //08-22 14:20:54.590: I/Unity(12185): OnApplicationFocus False / / Switch from the desktop back to the game in turn triggered //08-22 14:22:38.770: I/Unity(12185): OnApplicationFocus True //08-22 14:22:38.800: I/Unity(12185): OnApplicationPause False