位置: 编程技术 - 正文
推荐整理分享Unity3d OnApplicationPause与OnApplicationFocus 判断游戏暂停还是重新启动,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。
在手机游戏当中,会碰到“强制暂停”,如:锁屏、接电话或短信之类的。如果“强制暂停”时间过长,网络游戏有时得重新登录等事件。
而Unity3d,Android Plugins中的UnityPlayer.UnitySendMessage,经测试在强制暂停时,OnPause、OnStop周期中UnitySendMessage无效。
重点探索OnApplicationPause和OnApplicationFocus;
OnApplicationPause,当程序暂停;
OnApplicationFocus,当程序获得或失去焦点;
经测试:
强制暂停时,先 OnApplicationPause,后 OnApplicationFocus;
重新“启动”手机时,先OnApplicationFocus,后 OnApplicationPause;
思路:
1,定义两个bool
isPause=false;
isFocus=false;
在
OnEnable();初始化:
void OnEnable(){
isPause=false;
isFocus=false;
}
void OnApplicationPause(){
#if UNITY_IPHONE || UNITY_ANDROID
Debug.Log(“OnApplicationPause “isPause” “isFocus);
if(!isPause)
{
// 强制暂停时,事件
pauseTime();
}
else
{
isFocus=true;
}
isPause=true;
#endif
}
void OnApplicationFocus(){
#if UNITY_IPHONE || UNITY_ANDROID
Debug.Log(“OnApplicationFocus “isPause” “isFocus);
if(isFocus)
{
// “启动”手机时,事件
resumeList();
isPause=false;
isFocus=false;
}
if(isPause)
{
isFocus=true;
}
#endif
}
更多精彩请点击
Unity3D技术之Visual Studio C# 集成说明 欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d
Unity3D技术之Advanced流媒体资源浅析 欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d
unity3D技术之特殊文件夹和脚本编译顺序 欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d
标签: Unity3d OnApplicationPause与OnApplicationFocus 判断游戏暂停还是重新启动
本文链接地址:https://www.jiuchutong.com/biancheng/372950.html 转载请保留说明!上一篇:Unity3d AssetDatabase.SetLabels StartAssetEditing ValidateMoveAsset 语法复习
下一篇:Unity3D技术之Visual Studio C# 集成说明(unity3d功能)
友情链接: 武汉网站建设