在手机游戏当中,会碰到“强制暂停”,如:锁屏、接电话或短信之类的。如果“强制暂停”时间过长,网络游戏有时得重新登录等事件。
而Unity3d,Android Plugins中的UnityPlayer.UnitySendMessage,经测试在强制暂停时,OnPause、OnStop周期中UnitySendMessage无效。
重点探索OnApplicationPause和OnApplicationFocus;
OnApplicationPause,当程序暂停;
OnApplicationFocus,当程序获得或失去焦点;
经测试:
强制暂停时,先 OnApplicationPause,后 OnApplicationFocus;
重新“启动”手机时,先OnApplicationFocus,后 OnApplicationPause;
思路:
1,定义两个bool
isPause=false;
isFocus=false;
在
OnEnable();初始化:

本文探讨了在Unity3D中处理手机游戏强制暂停和重新启动的情况,特别是`OnApplicationPause`和`OnApplicationFocus`两个关键函数的使用。在Android和iOS平台,当游戏被强制暂停,如锁屏或接听电话时,`UnityPlayer.UnitySendMessage`在`OnPause`和`OnStop`周期内可能无效。通过设置和检查`isPause`和`isFocus`两个布尔变量,可以在`OnApplicationPause`中触发暂停事件,在`OnApplicationFocus`中判断游戏是否重新启动并相应地调用恢复函数。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



