微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 退出应用时保存游戏

我正在制作一个团结C#的游戏.我有代码保存本地并为游戏保存云.当按下游戏保存然后退出时,我按下一个按钮退出.

但我在这里保存的游戏有问题.当某人或玩家按下设备移动设备上的主页按钮时,游戏将退出并在后台运行.

如果玩家重启设备,则在后台运行的游戏将不会保存到本地或云端.这就是问题.

所以在统一当主页按钮按下设备移动时,统一会做什么?这是暂停应用程序/游戏或其他什么?
如果玩家按下主页按钮,我们可以做什么?

如果暂停应用程序/游戏,我们可以在玩家按下主页按钮时首先检测到它,我们可以保存游戏吗? (我的意思是在按下按钮后运行代码)

或者根据你的经验,如果玩家按下主页按钮会怎么做?这是为了让玩家不丢失游戏数据.

请详细说明我找到解决方案.

对于继续比赛,任何帮助都会很棒:)

谢谢

丹尼斯

解决方法:

So in unity when home button pressed at device mobile what will unity
do ?

Unity无法控制这一点.操作系统.您没有提到哪个操作系统(Android或iOS),但您可以研究每个操作系统按下主页按钮时会发生什么.

我可以告诉你的是,该应用程序在Android上暂停了一段时间.有时,Android会卸载资产.这取决于许多因素,例如应用程序已暂停多长时间,打开的应用程序数量以及设备上可用的内存.

你不能依靠操作系统来处理这个问题.你必须自己处理它.

If it pause the application / game Could we detect it first when the
player press the home button we Could do saving the game ?

是和否.

您不应该检测何时按下主页按钮以执行某些操作.但是,您应该检测游戏暂停和恢复的时间.

这就是OnApplicationPause功能的用途.另一个类似的功能OnApplicationFocus,但OnApplicationPause更适合这个.

按下Home按钮时调用OnApplicationPause(bool pauseStatus)时,pauseStatus参数为true.重新打开应用程序时,pauseStatus参数为false.

This is for the player to not lose the game data

saveload的数据取决于pauseStatus值.

这是做什么的:

void OnApplicationPause(bool pauseStatus)
{
    if (pauseStatus)
    {
        Debug.Log("Paused");
        //Save Player Settings
        //https://stackoverflow.com/q/40078490/3785314
    }
    else
    {
        Debug.Log("resumed");
        //Load Player Settings
        //https://stackoverflow.com/q/40078490/3785314
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐