Параметры
hasFocus | True, если GameObjects имеют фокус, иначе False. |
Описание
Отправляется всем GameObjects, когда игрок получает или теряет фокус.
OnApplicationFocus вызывается, когда приложение теряет или получает фокус. Alt-tabbing или Cmd-tabbing может переключить внимание с приложения Unity на другое настольное приложение. Это приводит к тому, что GameObjects получают вызов OnApplicationFocus с аргументом, установленным на false. Когда пользователь снова переключается на приложение Unity, GameObjects получают вызов OnApplicationFocus с аргументом, установленным в true.
OnApplicationFocus может быть сопрограммой; для этого используйте оператор yield в функции. Реализованный таким образом, он оценивается дважды во время начального кадра: сначала как раннее уведомление, а затем во время обычного шага обновления сопрограммы.
В Android при включении экранной клавиатуры возникает событие OnApplicationFocus( false ). Кроме того, если вы нажмете Home в момент включения клавиатуры, событие OnApplicationFocus() будет вызвано не, а OnApplicationPause().
using UnityEngine;
public class AppPaused : MonoBehaviour
{
bool isPaused = false;
void OnGUI()
{
if (isPaused)
GUI.Label(new Rect(100, 100, 50, 30), "Game paused");
}
void OnApplicationFocus(bool hasFocus)
{
isPaused = !hasFocus;
}
void OnApplicationPause(bool pauseStatus)
{
isPaused = pauseStatus;
}
}