hasFocus | 如果 GameObject 具有焦点,则为 true,否则为 false。 |
当玩家获得或失去焦点时,发送给所有 GameObject。
OnApplicationFocus 在应用程序丢失或获得焦点时调用。
使用 Alt + Tab 或 Cmd + Tab 可以将焦点从 Unity 应用程序转移到
另一个桌面应用程序。这会导致该 GameObject 收到
参数设置为 false 的 OnApplicationFocus 调用。当用户切换回 Unity 应用程序时,
GameObject 会收到参数设置为 true 的 OnApplicationFocus。
OnApplicationFocus 可以作为协同程序使用 - 在函数中使用 yield 语句即可。
以这种方式实现时,将在初始帧期间对其计算两次:
第一次是早期通知,第二次在正常的协同程序更新步骤期间进行。
On Android, when the on-screen keyboard is enabled, it causes a OnApplicationFocus( false ) event.
Additionally, if you press Home at the moment the keyboard is enabled, the OnApplicationFocus() event is not called, but OnApplicationPause() is called instead.
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; } }